Executable

檢測是否使用 gprof 工具建構了 ELF 二進製文件?

  • May 17, 2016

是否可以檢查給定程序是否使用 GNU gprof 工具編譯,即使用“-pg”標誌傳遞給編譯器和連結器,而不執行它來檢查它是否會生成gmon.out文件?

您可以檢查對函式的引用mcount(或可能_mcount__mcount根據Profiling 的實現)。此功能是分析工作所必需的,並且對於未分析的二進製文件應該不存在。

就像是:

$ readelf -s someprog | egrep "\s(_+)?mcount\b" && echo "Profiling is on for someprog"

以上適用於此處的快速測試。

上面答案中的正則表達式並不總是有效……但是在’readelf -s的輸出中grepping for“mcount”的一般想法

$$ binary $$‘是正確的,我認為

引用自:https://unix.stackexchange.com/questions/14487