一般嵌入式板子上的程序都是交叉编译出来的,PC负责编译,板子负责运行。
目录
板子上不可直接进行gdb调试
当执行l指令时,会报找不到源文件错误。
原因:在pc上编译时,gcc会加一个-g参数用来支持adb调试,会记录编译目录到程序中。
https://blog.csdn.net/nicholas_duan/article/details/117515155
如果在pc上编译,在pc上使用gdb调试是正常的,但是如果在板子上进行gdb调试就会报错。
gdbserver的基本使用
https://blog.csdn.net/dong__ge/article/details/126322091
1.clion调试android平台
调试步骤
1.在目标板上启动gdbserver
gdbserver64 :1234 程序
,注意android平台要使用gdbserver64,如果用gdbserver会报错:com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: Invalid hex digit 59
2.clion里attach上:
调试问题
- so库的断点无法调试:
gdbserver: Unable to determine the number of hardware watchpoints available. gdbserver: Unable to determine the number of hardware breakpoints available.
将调试程序编译成32位,使用32位的gdbserver调试没有报这个错,但是断点仍然catch不上。
0 条评论