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变量...