跟蹤在documentation for gdb:如何使用GDB
,跟蹤點目前只適用於遠程 目標。請參見指定調試目標一節。另外,您的 遠程目標必須知道如何收集跟蹤數據。此功能 在遠程存根中實現;但是,從本文編寫開始,中沒有任何存根分發與GDB支持跟蹤點。
強調我的。我在哪裏可以得到這樣一個存根(對於在Debian x86或x64上用GCC編譯的C/C++代碼)?或者我如何去製作一個?關於寫作存根的文檔僅提到了實現與串行端口通信的功能。謝謝!
跟蹤在documentation for gdb:如何使用GDB
,跟蹤點目前只適用於遠程 目標。請參見指定調試目標一節。另外,您的 遠程目標必須知道如何收集跟蹤數據。此功能 在遠程存根中實現;但是,從本文編寫開始,中沒有任何存根分發與GDB支持跟蹤點。
強調我的。我在哪裏可以得到這樣一個存根(對於在Debian x86或x64上用GCC編譯的C/C++代碼)?或者我如何去製作一個?關於寫作存根的文檔僅提到了實現與串行端口通信的功能。謝謝!
我不太瞭解遙控器,但gdb中的一些目標現在支持跟蹤點 可能有一種方法可以使用'普通'gdb info或show命令來獲取此信息,但我無法找到它。在下面的輸出中,由於'supported = 1',所以支持跟蹤點, 這可能不限於gdb存根,而且存根正在運行。
$ gdbserver/gdbserver :12345 ~/tests/test &
$ gdb -quiet
(gdb) file ~/tests/test
Reading symbols from /home/ratmice/tests/test...done.
(gdb) target remote :12345
Remote debugging using :12345
Remote debugging from host 127.0.0.1
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x00000035dd600b20 in _start() from /lib64/ld-linux-x86-64.so.2
Created trace state variable $trace_timestamp for target's variable 1.
Missing separate debuginfos, use: debuginfo-install glibc-2.13-2.x86_64
(gdb) interpreter-exec mi2 -trace-status
^done,supported="1",running="0",frames="0",frames-created="0",buffer-size="5242880",buffer-free="5242880",disconnected="0",circular="0"
你應該在Linux上使用gdb的時候引用FSF GDB文件,(事實證明,這個特殊的部分並沒有改變),如蘋果GDB是「很久很久以前,在一個時間」分叉。 – matt
是的,我得到了警告,說它從我的'gdb'中不受支持,並且發出了googling,這就是結果,但它肯定適用於當前的'gdb'。 – Gaius