Debugging WinDbg中的多目标调试是否中断?
我试图在WinDbg的一个实例中调试两个进程 我想运行其中一个进程,但Debugging WinDbg中的多目标调试是否中断?,debugging,windbg,Debugging,Windbg,我试图在WinDbg的一个实例中调试两个进程 我想运行其中一个进程,但g似乎与所选进程无关(|0s,|1s)。我可以使用~6g语法运行单个线程,在这种情况下,其他线程将被冻结。但是,即使线程6现在正在运行,WinDbg命令提示符现在也被禁用,因此我无法启动其他线程 我还注意到,当两个进程中的一个进程结束时,WinDbg将无法再执行g。WinDbg然后声明找不到要运行的内容: 0:000> |0s 0:000> k # ChildEBP RetAddr 00 0113f97c 0
g
似乎与所选进程无关(|0s
,|1s
)。我可以使用~6g
语法运行单个线程,在这种情况下,其他线程将被冻结。但是,即使线程6现在正在运行,WinDbg命令提示符现在也被禁用,因此我无法启动其他线程
我还注意到,当两个进程中的一个进程结束时,WinDbg将无法再执行g
。WinDbg然后声明找不到要运行的内容:
0:000> |0s
0:000> k
# ChildEBP RetAddr
00 0113f97c 000a58be ComparativeDebugging!main+0x97 [c:\...\comparativedebugging.cpp @ 13]
[...]
0:000> g
^ No runnable debuggees error in 'g'
0:000> |
. 0 id: 10e0 create name: ComparativeDebugging.exe
# 1 id: 1eec exited name: ComparativeDebugging.exe
0:000> |1s
[...]
1:004> k
# ChildEBP RetAddr
00 00cff938 77027dde ntdll!NtTerminateProcess+0xc
[...]
1:004> |0s
[...]
0:000> g
^ No runnable debuggees error in 'g'
0:000> ~0g
^ No runnable debuggees error in '~0g'
如您所见,进程0仍在main()
中,进程1已终止。我找不到让进程0运行到底的方法
另一个问题是,我无法从进程1(已结束)分离,但我可以从进程0分离:
1:004> .detach
Detached
1:004> .detach
Detached
1:004> .detach
Detached
1:004> |
0 id: 10e0 create name: ComparativeDebugging.exe
. 1 id: 1eec exited name: ComparativeDebugging.exe
1:004> |0s
[...]
0:000> g
^ No runnable debuggees error in 'g'
0:000> .detach
eax=00000000 ebx=770da920 ecx=00000000 edx=00000000 esi=00000000 edi=00000000
eip=77046e9c esp=00cff93c ebp=00cffa14 iopl=0 nv up ei pl nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000206
ntdll!NtTerminateProcess+0xc:
77046e9c c20800 ret 8
Detached
1:004> |
. 1 id: 1eec exited name: ComparativeDebugging.exe
des不工作的下一件事是。重新启动。根据文件
如果调试器最初创建了目标应用程序,CDB和WinDbg可以重新启动该应用程序。即使目标应用程序已关闭,也可以使用.restart命令
在我的例子中,我已经使用WinDbg启动了两个应用程序(一个通过文件/打开可执行文件,另一个通过.create
),我希望可以分别重新启动它们。但是,当我发出.restart
命令时,WinDbg会终止所有进程,只重新启动使用文件/打开可执行文件启动的进程
0:000> .create c:\...\ComparativeDebugging.exe
[...]
Create will proceed with next execution
0:000> g
[...]
0:000> |
. 0 id: 1fa0 create name: ComparativeDebugging.exe
1 id: 3a20 create name: ComparativeDebugging.exe
0:000> |1s
1:004> .restart
CommandLine: "C:\...\ComparativeDebugging.exe" 5
[....]
ntdll!LdrpDoDebuggerBreak+0x2b:
7707ccbc cc int 3
0:000> |
. 0 id: 3580 create name: ComparativeDebugging.exe
我是否做错了什么,或者WinDbg中的多目标调试是否严重中断
我正在Windows 10上使用WinDbg 10.0.10586.567 x86。从14393 SDK尝试WinDbg:好的,下载并安装。我会试试…新版本能用吗?试试14393 SDK中的windbg:好的,下载并安装。我试试……新版本行吗?