关于WinDbg的内存访问断点命令 ba 的疑惑

WinDbg

关于WinDbg的内存访问断点命令 ba 的疑惑


timixu1983 2011-01-05, 10:44 上午
各位好:
      在使用WinDbg的ba命令时,出现一个奇怪的现象。

      使用命令
      ba r4 8053e644
      设置了一个内存访问断点。

     kd> g
     Breakpoint 0 hit
     TestDrv+0x856e:
     f851956e 8945fc          mov     dword ptr [ebp-4],eax
     此时的Register Context 为

    kd> r
   eax=43688fe9 ebx=00000000 ecx=8053e644 edx=00000080 esi=821a4020 edi=f8b3dda4
   eip=f851956e esp=f8b3dd7c ebp=f8b3dd80 iopl=0         nv up ei pl nz na po nc
   cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00000202
   TestDrv+0x856e:
   f851956e 8945fc          mov     dword ptr [ebp-4],eax ss:0010:f8b3dd7c=00000000

   执行该指令时,并未访问内存  8053E644。为何会被当作断点?
   是不是Windbg的BUG
 
  

Re: 关于WinDbg的内存访问断点命令 ba 的疑惑


格蠹老雷 2011-01-06, 13:53 下午
用ub命令看上一条指令. 因为通过调试寄存器设置的数据类断点触发的是陷阱类异常( P68 & P88), 报告异常时程序指针指向的是触发断点那条指令之后的那条指令

Re: 关于WinDbg的内存访问断点命令 ba 的疑惑


timixu1983 2011-01-19, 14:09 下午
搞定了。是某杀毒软件导致无法调试。
卸载调杀毒,即可用ub回到上一条指令。

Re: 关于WinDbg的内存访问断点命令 ba 的疑惑


格蠹老雷 2011-01-19, 15:44 下午
真的如此么? 不觉得反汇编会与杀毒软件有关

Powered by Community Server Powered by CnForums.Net