38.windbg-调试技巧(创建进程即断下、r修改控制条件跳转)

创建进程时断下

用于测试未到入口函数就崩的exe


0:000> sxe cpr
0:000> sx
  ct - Create thread - ignore
  et - Exit thread - ignore
 cpr - Create process - break
 epr - Exit process - break
  ld - Load module - output
  ud - Unload module - ignore
 ser - System error - ignore
 ibp - Initial breakpoint - break
 iml - Initial module load - ignore
 out - Debuggee output - output

修改控制条件跳转

0:000> r zf
zf=1
0:000> r cf
cf=0
0:000> r pf
pf=1

看和改标志位可以用于控制跳转.

比如此行代码:

while(1)
	{
		printf("ThreadProc\n");
	}
	return 0;
为了跳出:运行到00d51b13时,查看zf的值
00d51b0e b801000000      mov     eax,1
00d51b13 85c0            test    eax,eax
00d51b15 7419            je      test1!ThreadProc+0x40 (00d51b30)
0:001> r zf
zf=0
0:001> r zf=1
修改zf为1,跳出循环



你可能感兴趣的:(38.windbg-调试技巧(创建进程即断下、r修改控制条件跳转))