2013-05-21 25 views
4

我编译gdbserver的7.6手臂:gdbserver的跟踪点臂支撑

cd /gdb-7.6-src/gdb/gdbserver 
./configure --target=arm-linux --host=arm-linux 
make CC=/path/to/cross-compiler-gcc 

然后我编译GDB 7.6手臂:

cd /gdb-7.6-src/ 
./configure --target=arm-linux --prefix=/opt/gdb-arm/install/ 
make && make install 

我编译琐碎的应用程序有:

/path/to/cross-compiler-gcc hello.c -g -o hello 

我在我的主板上复制了gdbserver和我的交叉编译应用程序。 从我的电脑(x86的Linux PC的),我跑:

gdb hello 
(gdb) set target-async on 
(gdb) tvariable $c 
(gdb) actions 
>teval $c=$c+1 
>end 
(gdb) break main 
(gdb) target remote <ipaddr>:<port> 
[Thread 1585] #1 stopped. 
0x40000800 in ??() 
Cannot access memory at address 0x0 
(gdb) continue & 
(gdb) tstart 
Target does not support this command. 
(gdb) tstatus 
Target does not support this command. 

的行为是“正常”,直到TSTART命令:我可以调试应用程序,因为我想,但我无法启动跟踪应用程序。

现在的问题是:gdbserver是否支持arm或仅支持x86/amd_64的tracepoints?

+0

UPDATE:它从gdb邮件列表中显示gdbserver中的tracpoints仅支持x86/amd_64。 – Elco

回答

0

我在搜索同样的东西,我在GDB在线文档webdocs中发现,现在没有任何Archs支持。

检查的详细信息: https://sourceware.org/gdb/onlinedocs/gdb/Tracepoints.html

报价:

此功能在远程存根实现的;但是,截至撰写本文时,使用GDB分发的存根都不支持跟踪点