我有下面的代碼: int main(int argc, char *argv[])
{
int a = 2;
int b = 5;
int soma = a + b;
//...}
產生的LLVM位碼爲: define i32 @main(i32 %argc, i8** %argv) #0 {
entry:
.
所以,我已經閱讀了這篇文章Counting machine instructions of a process using PTRACE_SINGLESTEP,我明白動態鏈接一個測試程序到我的ptrace程序將返回一個指令計數,它也計算運行時庫的初始化。不過,我想獲得一個有效的計數爲我的測試程序,它是: int main(){
return 0;
}
我ptrace的程序首先也回到
我需要找出(動態)(彙編)指令並計算我的C程序。我期望輸出類似於 mov 200
pop 130
jne 48
我試圖valgrind --tool=callgrind --cache-sim=yes --dump-instr=yes <my program name>和使用Kcahcegrind看它下面。我確實找到了指令類型,但是計數信息不在哪裏。我想過濾輸出以丟棄由系統庫等引起的指