我正在编写一些汇编代码并使用GNU汇编程序汇编它们。我已经意识到没有办法用-pg标志进行编译,以便我可以进行分析。
我可以通过其他方式或任何其他汇编程序进行分析吗?
由于
答案 0 :(得分:1)
考虑来自google-perftools的探查器。假设我们从两个目标文件构建了一个可执行文件main
:一个是从C编译而一个是从汇编编译而来。没有必要为编译,汇编或链接添加任何额外的标志。
$ LD_PRELOAD=path/to/libprofiler.so CPUPROFILE=main.prof ./main
$ pprof main main.prof --text
Using local file main.
Using local file main.prof.
Removing killpg from all stack traces.
Total: 435 samples
348 80.0% 80.0% 348 80.0% label_from_assembly_file
37 8.5% 88.5% 37 8.5% exit
29 6.7% 95.2% 29 6.7% another_label_from_assembly_file
15 3.4% 98.6% 435 100.0% main
4 0.9% 99.5% 4 0.9% another_label_defined_in_asm
2 0.5% 100.0% 2 0.5% and_a_fourth_asm_label
0 0.0% 100.0% 435 100.0% __libc_start_main
0 0.0% 100.0% 435 100.0% _start