是否能对某一处函数调用时内部断点才停?
本帖最后由 xiaomm250 于 2022-2-17 12:45 编辑假设在00538FBF行,调用一个函数为call 00000001,但是在程序的
00010000行也调用了函数call 00000001
00020000行也调用了函数call 00000001
00030000行也调用了函数call 00000001
总之很多行,都调用了这个函数,但是我是从00538FBF行进入函数内部的,然后在函数内部下了一个断点A,
我就希望从00538FBF进入函数时断点A停,从别的地方进入函数时断点A不停,能不能做到?
那你直接关00538FBF处下断不就行了? lies2014 发表于 2022-2-17 17:26
执行call之前会把返回地址A(call的下一行)压入堆栈地址B,从你需要的调用地址跟进去一次,当执行到需要 ...
执行call之前会把返回地址A(call的下一行)压入堆栈地址B
call的下一行是00684DA3,没在堆栈窗口看到这个数值呀。
堆栈窗口有这一行,
045BFE24 006856FFSE处理程序
但是这个00684DA3与006856FF相差了2396行呀
006856 FF - 00684 DA3=95C=2396行
条件断电啊 条件断点即可 GJH588 发表于 2022-2-17 13:32
条件断点即可
怎么个条件断点法???????? 在call段首下断,判断esp的值是否为调用地址 woflant 发表于 2022-2-17 14:27
在call段首下断,判断esp的值是否为调用地址
不是在断首下断点的 xiaomm250 发表于 2022-2-17 15:16
不是在断首下断点的
那就在断点处判断堆栈里的返回地址是否是调用地址 lies2014 发表于 2022-2-17 15:42
那就在断点处判断堆栈里的返回地址是否是调用地址
具体怎么操作,能举一个例子吗? xiaomm250 发表于 2022-2-17 15:57
具体怎么操作,能举一个例子吗?
执行call之前会把返回地址A(call的下一行)压入堆栈地址B,从你需要的调用地址跟进去一次,当执行到需要下断点的位置时,用B减去当前esp得差值C,这时就可以在你的断点设置条件为==A
页:
[1]
2