arm64设备上运行gdb调试
gdb编译
gdb的编译这里是参考hisi提供的Makefile脚本进行交叉编译,这里就不过多描述了:
服务器上进行调试
这里准备了一个测试代码,test_call.c
,在服务器上进行编译后,拷贝到设备上,就可以进行gdb调试了:
aarch64-himix100-linux-gcc test_call.c -g -o test_call
设备端运行gdbserver
:(下面的xxx.xxx.xxx.xxx是设备的ip地址)
./gdbserver xxx.xxx.xxx.xxx:1234 ./test_call
然后在服务器端,运行gdb
:
aarch64-himix100-linux-gdb ./test_call
然后连接gdb-server
:(下面的xxx.xxx.xxx.xxx是设备的ip地址)
target remote xxx.xxx.xxx.xxx:1234
设备上进行调试
将上面第一步交叉编译的gdb也拷贝到设备上,开启一个ssh窗口作为调试窗口:过程同上面一样,不过ip有所修改。
在设备上调试时,相关的线程信息如下:gdbserver
会开启一个gdbserver
线程和另外一个被调试的test_call
线程;在上面上调试时,还会再开启一个gdb
的调试线程。
的test_call
线程;在上面上调试时,还会再开启一个gdb
的调试线程。