我想弄清楚当命令行标志传递给 Windows 上的程序时,哪些指令的执行方式不同,我有编译(和优化)的二进制文件,没有调试符号或类似的东西。我知道区别不会超过一些指令。
我该如何解决这个问题?是否有任何技术可以准确记录程序在特定时间段内执行的指令?
(请注意,这不涉及任何系统调用,只是由于命令行标志而在循环中设置了一个标志。)
最佳答案
您可以使用 AMD 的 CodeAnalyst 来执行此操作,使用基于指令的分析方法。它还具有一个 API,您可以在应用程序中触发事件,以便您可以监控特定区域。您还可以使用反汇编器,据我所知,您使用“指令”一词来表示高级代码操作和低级机器代码(执行不能改变,只有编译器发出的代码可以改变执行高级操作)。
关于debugging - 记录二进制文件的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6555731/