Re: windbg设置一个条件断点, 没有起作用,帮我看看哈

WinDbg

windbg设置一个条件断点, 没有起作用,帮我看看哈


yyuieuwr 2016-07-29, 12:18 下午
我用VC建立了一个简单的控制台程序ConsoleApplication7,debug配置,然后有一个很简单的主函数

int main()
{
    int r1 = 0;
    r1 += 1;
    r1 = 3;
    return 0;
}

我编译这个程序,然后在windbg当中去打开这个ConsoleApplication7.exe可执行程序,设置好了Symbol path和Source path,Windbg打开了我的源代码
然后我设置条件断点

bp consoleapplication7!main "j (poi(r1)>2) ''; 'gc'"

我期待的是,程序能在r1=3执行之后停下来,但是实际上看起来并没有听。windbg的输出结果如下

--------------------------------------------------------------------------------------------------------------
0:000> bp consoleapplication7!main "j (poi(r1)>2) ''; 'gc'"
*** WARNING: Unable to verify checksum for ConsoleApplication7.exe
0:000> bl
 0 e 01251380     0001 (0001)  0:**** ConsoleApplication7!main "j (poi(r1)>2) ''; 'gc'"
0:000> g
eax=00718918 ebx=7efde000 ecx=0071b880 edx=00000001 esi=00000000 edi=00000000
eip=01251380 esp=002afeb4 ebp=002aff00 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
ConsoleApplication7!main:
01251380 55              push    ebp
0:000> g
eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=77c02100 edi=77c020c0
eip=77b1fcd2 esp=002afe18 ebp=002afe34 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
ntdll!NtTerminateProcess+0x12:
77b1fcd2 83c404          add     esp,4
0:000> g
       ^ No runnable debuggees error in 'g'

看起来已经运行完毕推出了。
我的问题是,是不是我的条件断点语法写的不正确? 还是别的原因,不能断下来?
谢谢。

Re: windbg设置一个条件断点, 没有起作用,帮我看看哈


格蠹老雷 2016-08-09, 16:07 下午
时序有问题啊,断点是在main的入口,当时根本没有r1变量... 

Powered by Community Server Powered by CnForums.Net