我想在windbg中添加一个条件断点。
例如,让我们说LoadLibrary API。
如果加载user32.dll,我怎样才能将断点设置为它。
> x kernel32!LoadLibraryW
它会给出一些地址[XXXX]
现在我可以把断点作为
> bu [XXXX]
但是对于所有对LoadLibraryW的调用都会出现这种情况。
任何建议。
答案 0 :(得分:9)
你不能在user32.dll上设置一个条件断点,因为它被相对较早地映射到地址空间,并且初始调试器的断点在此之后触发(据我所知)。
如果您可以跟踪加载user32.dll的时刻,您可以覆盖这样的模块中断:
sxe ld user32.dll
你可以做的是让你的应用程序由一个boostrapper应用程序启动,然后在user32.dll加载时让windows调试器中断。只需使用-o命令行选项或.childdbg 1
扩展调用来启动子进程的调试,并以cmd.exe启动它,例如:
windbg -c "sxe ld user32.dll;g" -o cmd.exe /C yourapp.exe
答案 1 :(得分:0)
我对你问题中的文字和标题感到有些困惑。但是假设你想设置一个条件断点,你应该看一下documentation因为它会详细介绍这个主题。