我们的开发环境是这样配置的,当我们运行代码的调试版本时,它会在崩溃或 ^C 时进入 gdb。随着最近的一些更改,这种情况不再发生(退出程序而不是进入 gdb),我怀疑符号大小的增加导致了这个问题。
有没有办法找到 msymbols、psymbols 和符号的大小(符号加载到 gdb session 时的内存消耗)?
此外,有没有办法限制 gdb 中用于符号的内存?谷歌提到 HP 的版本支持这样的功能——对于其他版本,唯一的出路是禁用共享库符号自动加载并按需加载它们。像 FreeBSD 这样的 HP 支持需要什么?
谢谢。
最佳答案
无法直接获取该信息。您可以很容易地添加它,但我个人不会费心。
您的报告不够详细,无法理解正在发生的事情。但是,我倾向于怀疑您所看到的行为是由 gdb 的大小引起的。
您可以使用 set auto-solib-add
禁用共享库信息的自动加载。
关于c++ - GDB:如何找到已加载符号(symbols,symbols,symbols)的内存总大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25296736/