被困在' sxe ld'命令

时间:2014-06-08 14:01:37

标签: windows debugging windbg

我试图在尚未加载的模块上设置断点。

所以我让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)

2 个答案:

答案 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以观察花费大量时间寻找符号的内容。