如何找到哪个函数调用了当前在 IDA 中执行的函数?

逆向工程 艾达
2021-06-25 10:06:07

我在函数“A”中有断点,但函数“B”和“C”可以调用“A”。当遇到断点时,我首先想知道什么叫做“A”。有没有类似函数调用堆栈的东西?

我找到了“调试器->跟踪->堆栈跟踪”选项,但是当我在断点被命中后按下它时,它只显示这一点,这没有任何意义: 在此处输入图片说明

1个回答

像这样进行函数跟踪:

  1. 在主函数和目标函数处设置断点
  2. 开始调试
  3. 当进程停止时:转到 Debugger->Tracing->Function Tracing
  4. 继续过程
  5. 一旦进程再次停止,转到调试器->跟踪->跟踪窗口并检查您需要的信息。

如果这没有为您提供所需的信息,请尝试基本块或指令跟踪。即使识别函数/堆栈帧存在问题,这也将起作用......

可以在此处找到有关跟踪功能的更多信息:有关跟踪的hex-rays 教程