2012-04-05 57 views
1

從strace的手冊:如何查找我的程序的系統調用位置?

-i Print the instruction pointer at the time of the system call. 

我straced我PROGRAMM:

strace -i prog 

結果我得到了很多的系統調用。其中之一:

[000da49c] open("./rabbit.o", O_RDONLY) = 3 

但在前衛的這個地址反彙編指令不調用系統調用任何(HTE編輯):

da49c ! mov   r7, ip       

有什麼不對?我怎樣才能找到我的程序系統調用的地方?

P.S.我的設備架構不支持GDB命令catch系統調用。

回答

2

舉了「strace的」手冊頁的錯誤部分:

The -i option is weakly supported. 

另一個端頭,它可以幫助你:你看了上面的代碼? 在系統調用之後,IP在指出它時已經指向NEXT指令。 所以你應該檢查da49c之前的說明。

+0

它是:da498! svc 0x00000000。 它可能是系統調用,我應該檢查它。感謝您的回覆。 – 2012-04-05 11:46:34

+0

它工作出色。謝謝弗洛洛先生! – 2012-04-05 11:54:44

相關問題