当角色生命值下降时暂停执行¶
在另一次调试会话中,我需要找到角色生命值降到最大值以下后被调用的第一个函数。我知道有两种方法可以解决这个问题:
(cid:127)找到访问生命值的每一段代码,在每一段上放置检查生命值
的条件断点。然后,一旦其中一个断点被触发,单步执行代
码,直到下一个函数调用。
(cid:127)使用 OllyDbg 的跟踪功能创建一个动态断点,可以精确地
停在我需要的地方。
第一种方法需要更多设置,而且不容易重复,主要是因为需要的断点数量太多,而且我必须手动单步执行。相比之下,后一种方法设置很快,而且由于它全自动完成,很容易重复。虽然使用跟踪功能会大大减慢游戏速度(每个操作都被跟踪捕获),但我选择了后一种方法。