Gdb 删除“添加符号文件”加载的符号

Gdb 删除“添加符号文件”加载的符号,gdb,embedded,Gdb,Embedded,我正在调试U-boot,在DRAM初始化完成后,代码从内部RAM重新定位到DRAM。因此,图像符号在不同的位置(内部RAM地址空间和DRAM地址空间)加载两次。当我尝试创建断点时,gdb为两个地址空间添加了两个断点。问题是硬件断点的数量有限。目前,我通过删除旧断点来添加新断点。我正在寻找一种方法来卸载(删除)在早期阶段加载的符号文件(映射到内部RAM的符号) 如有任何建议,我们将不胜感激。提前感谢 您可以运行符号文件,无需参数: Reading symbols from /tmp/foo...d

我正在调试U-boot,在DRAM初始化完成后,代码从内部RAM重新定位到DRAM。因此,图像符号在不同的位置(内部RAM地址空间和DRAM地址空间)加载两次。当我尝试创建断点时,gdb为两个地址空间添加了两个断点。问题是硬件断点的数量有限。目前,我通过删除旧断点来添加新断点。我正在寻找一种方法来卸载(删除)在早期阶段加载的符号文件(映射到内部RAM的符号)


如有任何建议,我们将不胜感激。提前感谢

您可以运行
符号文件
,无需参数:

Reading symbols from /tmp/foo...done.
(gdb) symbol-file
Discard symbol table from `/tmp/foo'? (y or n) y
No symbol file now.
(gdb) symbol-file foo
Reading symbols from /tmp/foo...done.
(gdb) symbol-file
Discard symbol table from `/tmp/foo'? (y or n) y
No symbol file now.

您可以运行
符号文件
,而无需该文件的参数:

Reading symbols from /tmp/foo...done.
(gdb) symbol-file
Discard symbol table from `/tmp/foo'? (y or n) y
No symbol file now.
(gdb) symbol-file foo
Reading symbols from /tmp/foo...done.
(gdb) symbol-file
Discard symbol table from `/tmp/foo'? (y or n) y
No symbol file now.

我为GDB开发了一个补丁,用于删除用户添加的符号文件。这是一个新的命令,叫做 删除符号文件:

remove-symbol-file FILENAME
remove-symbol-file -a ADDRESS
  Remove a symbol file added via add-symbol-file.  The file to remove
  can be identified by its filename or by an address that lies within
  the boundaries of this symbol file in memory.
该补丁被合并到GDB的主分支[1],因此应该可以在GDB7.7中使用。您可以同时从最新的开发源构建GDB:


[1]

我为GDB开发了一个补丁,用于删除用户添加的符号文件。这是一个新的命令,叫做 删除符号文件:

remove-symbol-file FILENAME
remove-symbol-file -a ADDRESS
  Remove a symbol file added via add-symbol-file.  The file to remove
  can be identified by its filename or by an address that lies within
  the boundaries of this symbol file in memory.
该补丁被合并到GDB的主分支[1],因此应该可以在GDB7.7中使用。您可以同时从最新的开发源构建GDB:

[1]