分析没有源代码的编译代码?

Profiling compiled code without source code?

我正在使用一个应用程序,它有一个 SDK 和一堆开发工具,我还使用 IDA Pro 对它进行了大量代码分析,所以我对它很满意。简而言之,它基本上是一个游戏服务器应用程序,所以您可以看到我正在处理的东西:支持模组,所以它有一些内部文档,这使得处理它的组装更容易。

但是源代码没有发布,我很难找到源代码,我想说,"CPU overhead"我想确定一下,以便使用 DLL 重写该部分注入例如 "replace" 有问题的代码,甚至抑制它,具体取决于它的需要。

我想知道,是否可以分析一个您无法获取其源代码的二进制可执行文件?可以在 opcode/assembly 级别分析代码的东西?

谢谢!

您是正确的,传统的配置文件(例如 gprof)通过在编译时插入额外的代码来工作,并且对您当前的情况没有帮助。

也许像 Valgrind 这样的工具可以提供帮助。