Assembly 如何执行记录存储程序集代码
我试图修改Assembly 如何执行记录存储程序集代码,assembly,record,perf,Assembly,Record,Perf,我试图修改perf record来处理目标进程/程序的汇编代码。因此,我想知道perf在哪里使用数据结构来存储汇编代码和计算目标进程/程序的位置 通常,perf record完成后将写入一个“perf.data”,我们可以使用perf record,按“Enter”键并选择“annotate”查看目标进程/程序的汇编代码。通过这种方式,我们可以得到哪个代码行是计数的原因 perf.record不会以任何方式处理程序集,也不会在perf.data中存储任何程序集或指令性能记录记录包含指令指针的事件
perf record
来处理目标进程/程序的汇编代码。因此,我想知道perf在哪里使用数据结构来存储汇编代码和计算目标进程/程序的位置
通常,
perf record
完成后将写入一个“perf.data”,我们可以使用perf record
,按“Enter”键并选择“annotate”查看目标进程/程序的汇编代码。通过这种方式,我们可以得到哪个代码行是计数的原因 perf.record
不会以任何方式处理程序集,也不会在perf.data
中存储任何程序集或指令<代码>性能记录记录包含指令指针的事件。在perf report
和其他分析工具期间,这些都是使用MMAP信息在o DSO内转换的地址perf
知道相应二进制文件的文件名-请注意,如果在录制后发生更改,它可能会使用.debug/.build id
下这些二进制文件的副本来使用正确的版本。Perf在文件上运行objdump
,以获取反汇编并显示带注释的视图
这回答了你的问题,但如果没有任何进一步的信息,就不可能真正帮助你实现你真正想要做的事情。您还可以基于
perf\u event\u open
构建自己的工具。您确实需要为您想要实现的目标添加更多细节。这个问题很不清楚,谢谢。我尝试修改perf
源代码,让'perf record'命令可以实时输出目标进程/程序的汇编代码的计数器编号和计数器位置,而不是rusult文件perf.data
。就像你说的perf record
记录包含指令指针的事件,那么perf使用什么数据结构或在哪里存储指令指针的内容,例如虚拟地址?