c++11 - Can I use pintool to get what is executed in the source code?
问题描述
Can I use pintool to get what is executed in the source code?
I can now use pintool to get every instruction executed
解决方案
你不能。二进制文件包含编译器从源代码生成的机器代码,但不包含任何类型的源代码。有一些工具可以从二进制文件逆向工程源代码(或者你可以自己做),但是生成的源代码将丢失所有对程序逻辑无关的东西,比如变量名等。另外,因为二进制文件是通常经过大量优化,甚至逻辑本身可能看起来与原始源不太相似。您可以做的最接近的事情(要求您已经拥有源代码)是使用调试标志进行编译,这使得编译器会烘焙一些信息,哪些指令来自哪个源文件/行
推荐阅读
- asp.net-mvc - Jquery 电子邮件验证在 MVC 中不起作用
- kubernetes - Get environment variable from kubernetes pod?
- javascript - 传单 - 如何遍历 layer.getLatLngs?
- javascript - 有没有更好的方法来实现这一目标?'000000'.slice(0, -'434'.length) + '434' = '000434'
- python - 获取 HTTP 错误 403:尝试安装 virtualenvwrapper-powershell 时需要 SSL
- cobol - COBOL 抑制最后一个数字,同时对两个十进制数字求和
- javascript - 在 Javascript 中结合 $.when 和 async/await
- r - 根据类型列表列中的值子集 data.table
- azure-functions - 如何为失败的持久功能编排设置 Azure 警报?
- cocoa-bindings - NSOutlineView/NSTreeController setSelectionIndexPaths 中的错误?