我试图在尚未加载的模块上设置断点。
所以我让windbg停止加载模块:
sxe ld *xml*
(只是一些随机模块进行测试)
然后我看到了这个:
0:010> sxe ld *xml*
0:010> g
ModLoad: 70d10000 70e68000 C:\Windows\System32\msxml6.dll
eax=00000001 ebx=00000000 ecx=002a260c edx=0022017c esi=7ffd9000 edi=02259024
eip=775070b4 esp=02258f3c ebp=02258f90 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!KiFastSystemCallRet:
775070b4 c3 ret
这一输出迅速显示出来,但是windbg进入了一个“忙碌”的状态。州。这是为什么?
我已使用.symopt+ 100
关闭地址解析,我不知道为什么它现在卡住了,还有什么方法可以找到?
(在Virtrual Box中运行Windows 7 x86)
答案 0 :(得分:1)
加载模块异常仅引发一次 在会话中后续卸载和重新加载同一模块将不会产生LoadModule异常
除非你无意中执行了sxe ld应该第一次破解
:000> sxe -c ".echo lets break on any mod which contains u in its name;gc" ld *u*
0:000> .sxcmds
sxe ld:*u* ;
sx- -c ".echo lets break on any mod which contains u in its name;gc" ld ;
0:000> g
ModLoad: 77120000 771ab000 C:\WINDOWS\system32\OLEAUT32.dll
lets break on any mod which contains u in its name
ModLoad: 769c0000 76a74000 C:\WINDOWS\system32\USERENV.dll
lets break on any mod which contains u in its name
ModLoad: 5ad70000 5ada8000 C:\WINDOWS\system32\UxTheme.dll
lets break on any mod which contains u in its name
ModLoad: 78130000 78263000 C:\WINDOWS\system32\urlmon.dll
lets break on any mod which contains u in its name
ModLoad: 3dfd0000 3e1b8000 C:\WINDOWS\system32\iertutil.dll
lets break on any mod which contains u in its name
ModLoad: 77920000 77a13000 C:\WINDOWS\system32\SETUPAPI.dll
lets break on any mod which contains u in its name
答案 1 :(得分:1)
一个潜在的原因可能是它正在寻找符号。 你的符号路径是什么样的?
这是你可以尝试的。
如果确实减少了Windbg处于忙碌状态的时间。
!sym noisy
以观察花费大量时间寻找符号的内容。