调试openEuler的arm32版本时gdb无法获取符号列表
时间: 2023-06-27 21:06:37 浏览: 200
linux gdb 调试工具 arm32
如果在调试OpenEuler的arm32版本时,gdb无法获取符号列表,你可以尝试以下步骤:
1. 确认是否已经生成了带有调试符号的可执行文件。你可以使用objdump命令查看可执行文件中是否包含符号表和调试信息:
```
$ objdump -h <executable-file>
```
输出中包含了.debug_* 段就表示带有调试信息。
2. 确认gdb是否正确连接了目标设备上运行的进程。你可以使用gdb的attach命令来连接运行中的进程:
```
$ gdb -p <pid>
```
其中pid为目标进程的进程号。
3. 如果使用了交叉编译工具链,则需要确保gdb和交叉编译工具链的版本匹配。如果版本不匹配,则gdb无法正确解析符号表。
4. 确认目标设备上的符号文件路径是否正确设置。你可以使用gdb的set solib-search-path命令来设置符号文件路径。
```
(gdb) set solib-search-path /path/to/symbols
```
其中/path/to/symbols为符号文件所在的路径。
希望这些步骤能够帮助你解决问题。
阅读全文