22

32bit和64bit切换:!wow64exts.sw
查看进程运行的时间:vertarget
查看依赖的动态库(包含dll的路径):lmf
查看pdb文件:lm
查看所有的线程堆栈:~*kbn
切换线程:~20s
切换线程上的栈信息:.frame x (x代表的堆栈)
输出信息到日志:.logopen c:text.log &&.logclose
自动分析:!analyze -v
查看所有线程的优先级:~* (Priority)
显示锁信息:!lcoks
列出CriticalSection的详细信息:!cs
保存dmp信息:.dump /ma C:\dumps\myapp.dmp
查看某个handle的具体信息:!handle xxx f
设置远程symbol位置:SRV*F:\问题定位\20180511\sym1*http://msdl.microsoft.com/download/symbols
重新加载所有的符号表:.reload /f
每个线程消费的时间:!runaway   0x1(0x1代表的是线程消耗的用户模式时间,0x2代表消耗的内核时间,0x4每个线程从创建经历了多少时间)
显示当前作用域的所有局部变量的名字和值:dv
查看内存地址上的数据:db xxx (字节值和ASCII字符)

dt -r 表示的是递归的深度,比较实用与结构体的时候 以及stl的string vector

 kbn 100 显示多少层的堆栈


!teb 查看相应的线程块信息
dps 0x10 0x12 在对应的地址上找函数指针
dpa /dpu 0x12 0x12  在对应的地址上寻找unicode字符串或ansi字符串

.lastevent 命令显示最近一次发生的异常或事件。

x test1!*g_*查找test1模块里面的相关信息

EXCEPTION_ACCESS_VIOLATION             0xC0000005  程序企图读写一个不可访问的地址时引发的异常。例如企图读取0地址处的内存。
EXCEPTION_ARRAY_BOUNDS_EXCEEDED      0xC000008C  数组访问越界时引发的异常。
EXCEPTION_BREAKPOINT                 0x80000003  触发断点时引发的异常。
EXCEPTION_DATATYPE_MISALIGNMENT     0x80000002  程序读取一个未经对齐的数据时引发的异常。
EXCEPTION_FLT_DENORMAL_OPERAND         0xC000008D  如果浮点数操作的操作数是非正常的,则引发该异常。所谓非正常,即它的值太小以至于不能用标准格式表示出来。
EXCEPTION_FLT_DIVIDE_BY_ZERO         0xC000008E  浮点数除法的除数是0时引发该异常。
EXCEPTION_FLT_INEXACT_RESULT         0xC000008F  浮点数操作的结果不能精确表示成小数时引发该异常。
EXCEPTION_FLT_INVALID_OPERATION     0xC0000090  该异常表示不包括在这个表内的其它浮点数异常。
EXCEPTION_FLT_OVERFLOW                 0xC0000091  浮点数的指数超过所能表示的最大值时引发该异常。
EXCEPTION_FLT_STACK_CHECK             0xC0000092  进行浮点数运算时栈发生溢出或下溢时引发该异常。
EXCEPTION_FLT_UNDERFLOW             0xC0000093  浮点数的指数小于所能表示的最小值时引发该异常。
EXCEPTION_ILLEGAL_INSTRUCTION        0xC000001D    程序企图执行一个无效的指令时引发该异常。
EXCEPTION_IN_PAGE_ERROR             0xC0000006  程序要访问的内存页不在物理内存中时引发的异常。
EXCEPTION_INT_DIVIDE_BY_ZERO        0xC0000094  整数除法的除数是0时引发该异常。
EXCEPTION_INT_OVERFLOW              0xC0000095  整数操作的结果溢出时引发该异常。
EXCEPTION_INVALID_DISPOSITION       0xC0000026  异常处理器返回一个无效的处理的时引发该异常。
EXCEPTION_NONCONTINUABLE_EXCEPTION  0xC0000025  发生一个不可继续执行的异常时,如果程序继续执行,则会引发该异常。
EXCEPTION_PRIV_INSTRUCTION          0xC0000096  程序企图执行一条当前CPU模式不允许的指令时引发该异常。
EXCEPTION_SINGLE_STEP               0x80000004  标志寄存器的TF位为1时,每执行一条指令就会引发该异常。主要用于单步调试。
EXCEPTION_STACK_OVERFLOW            0xC00000FD  栈溢出时引发该异常。

RegionUsageIsVAD                    "busy" 区域。包括所有 虚拟分配块、SBH堆、自定义内存分配器(custom allocators)的内存、以及地址空间中所有属于其他分类的内存块。
RegionUsageFree                        目标的虚拟地址空间中所有可用内存。包括所有非提交(committed)和非保留(reserved)的内存。
RegionUsageImage                    用来映射二进制映像的内存区域。
RegionUsageStack                    用作目标进程的线程的堆栈的内存区域。
RegionUsageTeb                        用作目标进程中所有线程的线程环境块(TEB)的内存区域。
RegionUsageHeap                        用作目标进程的堆的内存区域。
RegionUsagePageHeap                    用作目标进程的整页堆(full-page heap)的内存区域。
RegionUsagePeb                        目标进程的进程环境块(PEB)的内存区域。
RegionUsageProcessParametrs            用作目标进程启动参数的内存区域。
RegionUsageEnvironmentBlock            用作目标进程的环境块的内存区域。

MEM_IMAGE                            映射的文件属于可执行映像一部分的内存。
MEM_MAPPED                            映射的文件不属于可执行映像一部分的内存。这种内存包含哪些从页面文件映射的内存。
MEM_PRIVATE                            私有的(即不和其他进程共享)并且未用来映射任何文件的内存。

MEM_COMMIT                            当前已提交给目标使用的所有内存。已经在物理内存或者页面文件中为这些内存分配了物理的存储空间。
MEM_RESERVE                            所有为目标以后的使用保留的内存。这种内存还没有分配物理上的存储空间。
MEM_FREE                            目标虚拟地址空间中所有可用内存。包括所有未提交并且未保留的内存。该Filter 值和RegionUsageFree一样


查看内存泄漏的时候
gflags imagefile  create user mode stack trace database选中
!heap 可以大概的看一下里面有几个堆信息
!heap -h 可以看每个堆的具体信息
!heap 0x11111111111 -v 查看这个堆上面的具体信息
!heap -s 查看地址上的堆信息
!heap -stat -h 04920000 去观察这段内存(04920000)的详细情况,可以看到这地址上的内存分布
!heap -flt s 4 去查进程中size=4的所有内存
!heap -p -a 0365e8f0查看堆上的调用堆栈

dumpbin –headers dlltest.dll,查看头信息,确认32bit或64bit

.effmach [MachineType] 
amd64


该虚拟内存的文件名为 "pagefile.sys" 
netsh interface ipv4 show dynamicportrange protocol=tcp
netsh interface ipv4 show tcpstats
netsh int ipv4 set dynamicport tcp start=2000 num=63000
netsh int ipv4 set dynamicport udp start=2000 num=63000
netsh int ipv6 set dynamicport tcp start=2000 num=63000
netsh int ipv6 set dynamicport udp start=2000 num=63000

ospf

route add 192.168.0.0 mask 255.255.0.0 192.168.1.1

route delete

psping.exe -b -l 1500 -n 15000 10.33.43.107:22

netsh int ipv4 set dynamicport tcp start=2000 num=63000
netsh int ipv4 set dynamicport udp start=2000 num=63000
netsh int ipv6 set dynamicport tcp start=2000 num=63000
netsh int ipv6 set dynamicport udp start=2000 num=63000

然后修改一下注册表缩短time-wait的时间。
regedit打开注册表,添加
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
“MaxUserPort”=dword:0000fffe
“TcpTimeWaitDelay”=dword:0000005 (缩短为5秒)

?? sizeof(dc_task_t)

C:\Users\shiyuefeng>netstat -an|findstr LISTENING|find /V /C ""

!peb
dt _PEB 7efde000

source insight 高亮某个变量 f8

netstat -an|findstr LISTENING|find /V /C ""

redis cmd:

auth IVMS9310-COMS

HGETALL 000000000001310944595

增加原代码的地址
.srcpath +

查看程序所用的内存
!address summary

dt -b  this  默认this指针是放到ecx寄存器里面的
?? (CDcVAG*)@ecx


0:233> .frame 09
09 2769fe9c 72a32177 DcSNMP!CDcSNMP::SNMPWorkProc+0x71e [e:\code\dc_dag_v2.4.1\deviceplugin\dcplugin\dc_src\src\dcsnmp\dcsnmp.cpp @ 699]
0:233> ? @ebp
Evaluate expression: 661255276 = 2769f46c
0:233> ? @esp
Evaluate expression: 661255120 = 2769f3d0
0:233> r
eax=00000000 
ebx=2769f420 
ecx=00000000 
edx=00000000 
esi=00000002 
edi=2769f440
eip=7710016d 
esp=2769f3d0 
ebp=2769f46c iopl=0         
0:233> .frame 0a
0a 2769fea0 72a3854a DcSNMP!CDcSNMP::S_SNMPWorkProc+0x17 [e:\code\dc_dag_v2.4.1\deviceplugin\dcplugin\dc_src\src\dcsnmp\dcsnmp.cpp @ 634]

因为堆栈的话是从高地址往低地址 ,所以ebp作为栈帧 会比esp栈顶会大一点

低地址
------ esp  
   |
   栈帧                被调用者控制范围
   |
------新的ebp
*********************
返回地址  -----
参数区域       | 调用者控制
               |

testlimit.exe -h 查看进程的句柄限制
testlimit.exe -t 查看32bit进程的线程限制
testlimit64.exe -t 查看64bit进程的线程限制
testlimit.exe -p 查看系统的进程限制

x VAXPlayer!* 查看模块里面的函数以及对应的函数地址
 
lmvm DcVag 可以查看动态库的时间和版本信息

0:269> !lmi dc-dag 查看exe的信息


查看临界区里面的参数
dt _RTL_CRITICAL_SECTION 12d42438 

查看句柄泄漏

!htrace -enable命令开启句柄检测
!htrace -snapshot命令,获得此时进程句柄的镜像。让程序继续运行。
中断进程运行,使用!htrace -diff命令获得当前句柄状态与第4步 snapshot镜像句柄的差异;
使用lsa 传递指定位置对应的代码,lsa Lab2010_2!HandleLeakFunc+0x00000012

!htrace -enable
!htrace -snapshot
//do something
!htrace -diff
lsa  Test!HandleLeakFunc+0x0000002e


.exr:此命令显示一个异常记录的详细内容,传入一个异常记录地址:

.exr 记录地址
如果仅仅为了显示最近的一条异常记录,可以用-1代替异常记录地址:

.exr -1
由于异常是事件的一种,所以使用.exr -1命令得到的异常,可能和使用.lastevent命令获取的事件(其实是异常),是同一个。
但二者显示的信息各有侧重点。

还有一个类似的命令:!cppexr,他分析并显示一个C++异常信息。


ub 反汇编函数之前的
u  反汇编函数之后的
uf 反汇编整个函数

如果要反汇编某一个地址,直接用u命令加地址,如果存在符号文件,也可以这样直接加函数名。
ub 指示要反汇编的区域是向后计算的,如果使用了ubAddress ,反汇编区域是以Address结束的8或9条指令。如果用ubAddressLLength语法指定区域,则反汇编以Address结尾的指定长度的内容。  
uf 命令显示内存中指定函数的反汇编代码。


查看第四个参数,默认windbg只能看到三个参数, esp好像保存了堆栈栈顶指针好像...
 # ChildEBP RetAddr  Args to Child              
00 22e0f0d0 76f2ebae 00000a1c 00000000 00000000 ntdll!ZwWaitForSingleObject+0x15
01 22e0f134 76f2ea92 00000000 00000000 00000000 ntdll!RtlpWaitOnCriticalSection+0x13e
02 22e0f15c 19f2ae3b 1a1e4d78 19eff0ff 1a1e4d78 ntdll!RtlEnterCriticalSection+0x150
03 22e0f164 19eff0ff 1a1e4d78 223bbf90 3a090020 PlayCtrl!WINDOWS_EnterCriticalSection+0xb
04 22e0f1c0 19f04b23 1a1e4d78 223bbf90 3a090020 PlayCtrl!CHikLock::CHikLock+0x1f [d:\smf\7.3.3\playctrl\porttohandle.h @ 39]
05 22e0f22c 6da34996 00000000 3a090020 00480000 PlayCtrl!PlayM4_GetJPEG+0x33 [d:\smf\7.3.3\playctrl\playctrl_shell.cpp @ 3507]
06 22e0f25c 6da34684 2608dc68 22e0f280 d92ef92e hik_play_plugin!CPlayImplement::GetJPEG+0xb6 [e:\wenling\vag_client\code\src\play_plugins\hik_play_plugin\play_plugin_implement.cpp @ 1755]
07 22e0f2d4 6da3425a 00000000 2cba8290 22e0f35c hik_play_plugin!CPlayImplement::SnapShotOnce+0xb4 [e:\wenling\vag_client\code\src\play_plugins\hik_play_plugin\play_plugin_implement.cpp @ 1653]
08 22e0f2e4 6da36d1c 6ec3e3b0 2cba8290 ffffffff hik_play_plugin!CPlayImplement::StartSnapShot+0xba [e:\wenling\vag_client\code\src\play_plugins\hik_play_plugin\play_plugin_implement.cpp @ 1511]
09 22e0f2f4 6ec3ddb0 223bbf90 22e0f390 6ec3e3b0 hik_play_plugin!Play_StartSnapShot+0x1c [e:\wenling\vag_client\code\src\play_plugins\hik_play_plugin\play_plugin_interface.cpp @ 522]
WARNING: Stack unwind information not available. Following frames may be wrong.
0a 22e0f35c 6ec324ee 00003a29 013ce1c0 19166768 vag_playctrl!VPLAY_SetRotateAngle+0xb100
0b 22e0f6c0 013c76b1 22e0f71c 19166858 d922d3fa vag_playctrl!VPLAY_StartSnapShot+0x3e
0c 22e0f82c 013cde8d 1946e368 d922d3a2 00000000 iVMS_DiagnoseServer!CVQDTask::DealDecodeMsg+0x161 [e:\vqdnew\vqdsever\sourcecode\vqdserver\vqdplanmanager\vqdtask\vqdtask.cpp @ 1941]
0d 22e0f874 6da35d91 00003a29 2dbf0040 00480000 iVMS_DiagnoseServer!VPLAYDecodeDataCallback+0x1cd [e:\vqdnew\vqdsever\sourcecode\vqdserver\vqdplanmanager\vqdtask\vqdtask.cpp @ 114]
0e 22e0f8a4 19f0a392 00000000 2dbf0040 00480000 hik_play_plugin!CPlayImplement::HikDecodeDataCallback+0x61 [e:\wenling\vag_client\code\src\play_plugins\hik_play_plugin\play_plugin_implement.cpp @ 2817]
0f 22e0f93c 19f0a233 2c9c6b40 22e0fa80 00000000 PlayCtrl!CPortPara::ResponseDecodeCBMend+0x152 [d:\smf\7.3.3\playctrl\portpara.cpp @ 1299]
10 22e0f99c 19efc705 2c9c6b40 22e0fa80 1a1eab50 PlayCtrl!DecodeCBMend+0x23 [d:\smf\7.3.3\playctrl\portpara.cpp @ 1222]
11 22e0fb0c 19ef93d8 2dbf0040 265ec808 00000000 PlayCtrl!CHKVDecoder::DoDecodeCallback+0x185 [d:\smf\7.3.3\src\workmodule\decoder\videodecoder\chkvdecoder.cpp @ 2960]
12 22e0fc2c 19efbc68 d92ebe1f 00000000 223b7210 PlayCtrl!CHKVDecoder::OutputData+0x908 [d:\smf\7.3.3\src\workmodule\decoder\videodecoder\chkvdecoder.cpp @ 1199]
13 22e0fcbc 19efb935 00000000 22e0fd80 00000000 PlayCtrl!CHKVDecoder::WriteFrame+0x328 [d:\smf\7.3.3\src\workmodule\decoder\videodecoder\chkvdecoder.cpp @ 2621]

想查看下面这个函数的第四个参数
0d 22e0f874 6da35d91 00003a29 2dbf0040 00480000 iVMS_DiagnoseServer!VPLAYDecodeDataCallback+0x1cd [e:\vqdnew\vqdsever\sourcecode\vqdserver\vqdplanmanager\vqdtask\vqdtask.cpp @ 114]

l表示的是长度
0:121> dd esp l200
22e0f0d0  76eff8e1 76f2ebae 00000a1c 00000000
22e0f0e0  00000000 1a1e4d78 1a1e4d7c 00000000
22e0f0f0  00000000 00000010 22e0f15c 19f2ae4b
22e0f100  1a1e4d78 00000001 1a1e4d78 00000002
22e0f110  00000010 00000000 3a090020 00090001
22e0f120  00000000 00000000 00000000 7ee6d000
22e0f130  00000a1c 22e0f15c 76f2ea92 00000000
22e0f140  00000000 00000000 223bbf90 3a090020
22e0f150  00000004 00000000 00000001 22e0f1c0
22e0f160  19f2ae3b 1a1e4d78 19eff0ff 1a1e4d78
22e0f170  223bbf90 3a090020 00000000 00000058
22e0f180  2608dced 22e0f1a4 73a63db8 070a0000
22e0f190  00000000 00000050 00000000 070a0000
22e0f1a0  2608dcc0 22e0f1bc 73a63eb8 002e0005
22e0f1b0  8e3f6b05 0000004b 00000000 22e0f228
22e0f1c0  22e0f22c 19f04b23 1a1e4d78 223bbf90
22e0f1d0  3a090020 00000000 00000000 00480000
22e0f1e0  223bbf90 00000000 00000010 22e0f204
22e0f1f0  73a63eb8 00480000 00000000 000507e1
22e0f200  001c0000 22e0f234 6da375c0 00000000
22e0f210  22e0f230 73a25ea9 3a090020 00480000
22e0f220  3a090020 00000000 1a1e4d78 ffffffff
22e0f230  6da34996 00000000 3a090020 00480000
22e0f240  22e0f254 223bbf90 00000010 22e0f2d4
22e0f250  00000000 00480000 00000600 00000800
22e0f260  6da34684 2608dc68 22e0f280 d92ef92e
22e0f270  22e0f5b8 223bbf90 00000000 ffffffff
22e0f280  00000000 00000003 2608dc00 73445989
22e0f290  06f8e9d4 2cba8294 00000000 0000000f
22e0f2a0  06f8e9d4 2608dc68 22e0f35c ffffffff
22e0f2b0  06f8e1f4 0000004b 0000004f d92ef926
22e0f2c0  06f8f078 22e0f34c 6da384db 00000000
22e0f2d0  00000001 00000001 6da3425a 00000000
22e0f2e0  2cba8290 22e0f35c 6da36d1c 6ec3e3b0
22e0f2f0  2cba8290 ffffffff 6ec3ddb0 223bbf90
22e0f300  22e0f390 6ec3e3b0 2cba8290 00000000
22e0f310  22e0f390 ffffffff 19166768 6ec38909
22e0f320  22e0f390 013ce1c0 19166768 d927007a
22e0f330  070aa190 22e0f920 2cf70280 ffffffff
22e0f340  2cba8290 19d7d7a8 d9270006 22e0f820
22e0f350  6ec4a368 00000000 070aa1b4 22e0f6c0
22e0f360  6ec324ee 00003a29 013ce1c0 19166768
22e0f370  2dbf0040 013c83da 00003a29 22e0f390
22e0f380  013ce1c0 19166768 ffffffff 19166768
22e0f390  00000000 00000000 00000000 00000000
22e0f3a0  00000050 00000000 00000000 00000000
22e0f3b0  482f3a43 32366b69 50443030 2f736369
22e0f3c0  37313032 38323530 0000002f 00000000
22e0f3d0  00000000 00000000 00000000 00000000
22e0f3e0  00000000 00000000 00000000 00000000
22e0f3f0  00000000 00000000 00000000 00000000
22e0f400  00000000 00000000 00000000 00000000
22e0f410  00000000 00000000 00000000 00000000
22e0f420  00000000 00000000 00000000 00000000
22e0f430  00000000 00000000 00000000 00000000
22e0f440  00000000 00000000 00000000 00000000
22e0f450  00000000 00000000 00000000 00000000
22e0f460  00000000 00000000 00000000 00000000
22e0f470  00000000 00000000 00000000 00000000
22e0f480  00000000 00000000 00000000 00000000
22e0f490  00000000 00000000 00000000 00000000
22e0f4a0  00000000 00000000 00000000 00000000
22e0f4b0  00000000 33313134 35373332 33313030
22e0f4c0  35303031 38373630 00000000 00000000
22e0f4d0  00000000 00000000 00000000 00000000
22e0f4e0  00000000 00000000 00000000 00000000
22e0f4f0  00000000 00000000 00000000 00000000
22e0f500  00000000 00000000 00000000 00000000
22e0f510  00000000 00000000 00000000 00000000
22e0f520  00000000 00000000 00000000 00000000
22e0f530  00000000 00000000 00000000 00000000
22e0f540  00000000 00000000 00000000 00000000
22e0f550  00000000 00000000 00000000 00000000
22e0f560  00000000 00000000 00000000 00000000
22e0f570  00000000 00000000 00000000 00000000
22e0f580  00000000 00000000 00000000 00000000
22e0f590  00000000 00000000 00000000 00000000
22e0f5a0  00000000 00000000 00000000 00000000
22e0f5b0  00000000 00000000 482f3a43 32366b69
22e0f5c0  50443030 2f736369 37313032 38323530
22e0f5d0  3131342f 37333233 31303035 30303133
22e0f5e0  37363035 706a2e38 00000067 00000000
22e0f5f0  00000000 00000000 00000000 00000000
22e0f600  00000000 00000000 00000000 00000000
22e0f610  00000000 00000000 00000000 00000000
22e0f620  00000000 00000000 00000000 00000000
22e0f630  00000000 00000000 00000000 00000000
22e0f640  00000000 00000000 00000000 00000000
22e0f650  00000000 00000000 00000000 00000000
22e0f660  00000000 00000000 00000000 00000000
22e0f670  00000000 00000000 00000000 00000000
22e0f680  00000000 00000000 00000000 00000000
22e0f690  00000000 00000000 00000000 00000000
22e0f6a0  00000000 00000000 00000000 00000000
22e0f6b0  00000000 00000000 00000000 d922dd16
22e0f6c0  22e0f82c 013c76b1 22e0f71c 19166858
22e0f6d0  d922d3fa 5929ad23 22e0f7cc 19f01e90
22e0f6e0  22e0f7c8 22e0f7cc 19f01ee0 2cba8290
22e0f6f0  00000000 00000000 00000019 00000000
22e0f700  00000e7f 027f0000 00000000 19161800
22e0f710  00000000 1946e368 19166768 482f3a43
22e0f720  32366b69 50443030 2f736369 37313032
22e0f730  38323530 0000002f 00000000 00000000
22e0f740  00000000 00000000 00000000 00000000
22e0f750  00000000 00000000 00000000 00000000
22e0f760  00000000 00000000 00000000 00000000
22e0f770  00000000 00000000 00000000 00000000
22e0f780  00000000 00000000 00000000 00000000
22e0f790  00000000 00000000 00000000 00000000
22e0f7a0  00000000 00000000 00000000 00000000
22e0f7b0  00000000 00000000 00000000 00000000
22e0f7c0  00000000 00000000 00000000 00000000
22e0f7d0  00000000 00000000 00000000 00000000
22e0f7e0  00000000 00000000 00000000 00000000
22e0f7f0  00000000 00000000 00000000 00000000
22e0f800  00000000 00000000 00000000 00000000
22e0f810  00000000 00000000 00000000 d922d3fa
22e0f820  22e0f868 013e2049 ffffffff 22e0f874
22e0f830  013cde8d 1946e368 d922d3a2 00000000
22e0f840  00000000 00000000 39c00020 1946e368
22e0f850  00000019 1946e368 1946e368 19166768
22e0f860  00000003 1946e368 22e0fb00 013e22d3
22e0f870  ffffffff 22e0f93c 6da35d91 00003a29   //在这边,可以看到所有的函数参数
22e0f880  2dbf0040 00480000 22e0f898 19166768
22e0f890  00000000 265ec568 00000800 00000600
22e0f8a0  00f0b263 00000003 19f0a392 00000000
22e0f8b0  2dbf0040 00480000 22e0f920 223bbf90
22e0f8c0  00000000 00000000 265ec568 2cf70280

0:121> dt 22e0f898 VPLAY_FRAME_INFO
   +0x000 iWidth           : 2048
   +0x004 iHeight          : 1536
   +0x008 iTimeStamp       : 15774307
   +0x00c iFrameType       : 3

  
没什么用了其实 ,只能用vs08的 vs2013不适用  
   :000> !stl gg
[da 0x83af18]
0083af18  "fffffffffffffffffff"
0:000> !stl V_St
    Element 0
    Unrecognized type 'MyStruct_S' as an STL structure -- Defaulting to `dt -n (MyStruct_S) 0x838580`
ggg!MyStruct_S
   +0x000 nNum             : 0n12
   +0x004 strpwd           : std::basic_string<char,std::char_traits<char>,std::allocator<char> >
    Element 1
    Unrecognized type 'MyStruct_S' as an STL structure -- Defaulting to `dt -n (MyStruct_S) 0x8385a4`
ggg!MyStruct_S
   +0x000 nNum             : 0n13
   +0x004 strpwd           : std::basic_string<char,std::char_traits<char>,std::allocator<char> >
    Element 2
    Unrecognized type 'MyStruct_S' as an STL structure -- Defaulting to `dt -n (MyStruct_S) 0x8385c8`
ggg!MyStruct_S
   +0x000 nNum             : 0n14
   +0x004 strpwd           : std::basic_string<char,std::char_traits<char>,std::allocator<char> >
    Element 3
    Unrecognized type 'MyStruct_S' as an STL structure -- Defaulting to `dt -n (MyStruct_S) 0x8385ec`
ggg!MyStruct_S
   +0x000 nNum             : 0n15
   +0x004 strpwd           : std::basic_string<char,std::char_traits<char>,std::allocator<char> >
0:000> dt -n (MyStruct_S) 0x838580
ggg!MyStruct_S
   +0x000 nNum             : 0n12
   +0x004 strpwd           : std::basic_string<char,std::char_traits<char>,std::allocator<char> >
0:000> dt -n -r (MyStruct_S) 0x838580
ggg!MyStruct_S
   +0x000 nNum             : 0n12
   +0x004 strpwd           : std::basic_string<char,std::char_traits<char>,std::allocator<char> >
      +0x000 _Myfirstiter     : (null) 
      +0x004 _Alval           : std::allocator<char>
      =01370000 npos             : 0x905a4d
      +0x008 _Bx              : std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Bxty
         +0x000 _Buf             : [16]  "test1"
         +0x000 _Ptr             : 0x74736574  "--- memory read error at address 0x74736574 ---"
      +0x018 _Mysize          : 5
      +0x01c _Myres           : 0xf
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值