C++ GDB:如何找到加载符号(MSYMBOL、PSYMBOL、SYMBOL)的内存总大小?

C++ GDB:如何找到加载符号(MSYMBOL、PSYMBOL、SYMBOL)的内存总大小?,c++,c,gdb,freebsd,C++,C,Gdb,Freebsd,我们的开发环境是这样配置的,当我们运行调试版本的代码时,它会在崩溃或^C时进入gdb。最近的一些更改不再发生这种情况(退出程序而不是进入gdb),我怀疑符号大小的增加是导致此问题的原因 有没有办法找到MSYMBOL、PSYMBOL和SYMBOL的大小(当符号加载到gdb会话时的内存消耗) 还有,有没有办法限制gdb中用于符号的内存?谷歌提到惠普的版本支持这一功能,而对于其他版本,唯一的出路就是禁用共享库符号自动加载,并按需加载。要想在FreeBSD上获得类似HP的支持,需要什么条件 谢谢 无法直

我们的开发环境是这样配置的,当我们运行调试版本的代码时,它会在崩溃或^C时进入gdb。最近的一些更改不再发生这种情况(退出程序而不是进入gdb),我怀疑符号大小的增加是导致此问题的原因

有没有办法找到MSYMBOL、PSYMBOL和SYMBOL的大小(当符号加载到gdb会话时的内存消耗)

还有,有没有办法限制gdb中用于符号的内存?谷歌提到惠普的版本支持这一功能,而对于其他版本,唯一的出路就是禁用共享库符号自动加载,并按需加载。要想在FreeBSD上获得类似HP的支持,需要什么条件


谢谢

无法直接获取这些信息。你可以很容易地添加它,但我个人不会费心

你的报告不够详细,无法理解发生了什么。然而,我倾向于怀疑你看到的行为是由gdb的大小引起的


您可以使用
set auto solib add

禁用共享库信息的自动加载,直接在程序上运行GDB,看看这个过程有多大。