gdb add-symbol-file
时间: 2023-07-16 09:11:50 浏览: 209
`gdb add-symbol-file` 是一个 gdb 命令,用于向当前 gdb 会话中添加一个二进制文件的符号表。这个命令通常用于调试在不同位置运行的程序或者库。当你在 gdb 中调试一个崩溃的程序时,如果你已经知道了程序崩溃时的堆栈信息,你就可以使用 `add-symbol-file` 命令将该程序对应的符号表加载到 gdb 中,这样 gdb 就可以正确地显示函数名和变量名,从而更好地帮助你进行调试。
使用 `gdb add-symbol-file` 命令的一般语法如下:
```
add-symbol-file file addr
```
其中,`file` 是你要加载符号表的二进制文件名,`addr` 是该文件在内存中的地址。你可以使用 `info proc` 命令来获取当前进程的基地址。例如:
```
(gdb) info proc
process 1234
...
Mapped address spaces:
Start Addr End Addr Size Offset objfile
0x8048000 0x804a000 0x2000 0x0 /path/to/binary
0x804a000 0x804b000 0x1000 0x0 /path/to/libc.so.6
0xb7e4b000 0xb7e4c000 0x1000 0x0 /path/to/ld-linux.so.2
0xb7e4c000 0xb7f8a000 0x13e000 0x0 /path/to/libc.so.6
0xb7f8a000 0xb7f8d000 0x3000 0x0 /path/to/libdl.so.2
...
(gdb) add-symbol-file /path/to/binary 0x8048000
```
这个例子中,我们使用 `info proc` 命令获取当前进程的基地址为 `0x8048000`,然后使用 `add-symbol-file` 命令将 `/path/to/binary` 对应的符号表加载到 gdb 中。
阅读全文