2013-05-21 120 views
1

我想在我的本地計算機(windows x86)上使用gdb和遠程目標(arm-linux)上的gdbserver提取我的程序(類似於程序計數器)的執行順序。我的想法是在我的源文件的「重要」行處插入斷點(即:在特定函數的開始處,以及在條件語句之前和之後的一般情況下),併爲每個斷點設置高忽略計數,然後檢查斷點是否被觸發。我實際上能夠使用這種方法接收信息,但是存在一個問題:我正在調試的應用程序行爲取決於實時,而這種特定的方法會太慢地減慢程序執行的速度。你認爲我可以用gdb使用其他方法嗎?我偶然發現了跟蹤點,這似乎是我正在尋找的確切的事情,但我無法找到像他們的「反擊」那樣的財產。我目前使用的gdb版本是7.5。gdb -gdbserver跟蹤遠程程序執行

非常感謝。

+0

對於內核代碼,可以考慮使用Kprobe還有JProbe你的目標。您可以使用這些來將這些計數器保留在代碼的有趣部分。不知道用戶代碼是否存在類似的機制,但我認爲這是可能的。 http://www.linuxforu.com/2011/04/kernel-debugging-using-kprobe-and-jprobe/ –

回答