在windbg中待处理的断点

时间:2018-07-25 11:28:58

标签: debugging windbg

无法进行远程调试,并且需要调试我的代码以解决系统上无法再现的问题。
我可以在linux的gdb中设置一个挂起的断点。我需要在windbg或Windows平台上使用类似的软件,因为我无法共享源文件,但是我需要在特定行插入文件才能进行调试。

1 个答案:

答案 0 :(得分:0)

未决断点是什么意思?
函数所在的模块是否动态加载,并且您需要事先设置断点?

如果是,则使用bu断点

bu myfoomodule!myblahfunction

这将在模块加载时加载符号,并在需要时设置断点

0:000> lm m help*
Browse full module list
start    end        module name

<<<<<<<<<<<< no results here 

通过强制重新放置符号并检查是否存在 该模块

0:000> .reload /f
Reloading current modules

0:000> lm m help*
Browse full module list
start    end        module name

again no results we cant set a regular breakpoint 
our breakpoint needs to be set using unresolved breakpoint    
lets set it 

0:000> bu HelpPaneProxy!DllMain
let us check 

0:000> bl
     0 e Disable Clear u             0001 (0001) (HelpPaneProxy!DllMain)         
     lets continue 

0:000> g
ModLoad: 77ac0000 77adf000   C:\Windows\system32\IMM32.DLL
ModLoad: 76f90000 7705c000   C:\Windows\system32\MSCTF.dll
un needed mod load display cut off XXXXXXXXXXXXXXXXXXXX
ModLoad: 67d80000 67d91000   C:\Windows\System32\HelpPaneProxy.dll

bingo our breakpoint hit on the module load triggered after clicking help in calc 

Breakpoint 0 hit
eax=00000001 ebx=00000001 ecx=00000001 edx=00000000 esi=00000000 edi=0025cfa8
eip=67d84700 esp=0025ce7c ebp=0025ced8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
HelpPaneProxy!DllMain:
67d84700 8bff            mov     edi,edi