c++ - GDB:如何找到已加载符号(symbols,symbols,symbols)的内存总大小?

标签 c++ c gdb freebsd

我们的开发环境是这样配置的,当我们运行代码的调试版本时,它会在崩溃或 ^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/

相关文章:

c++ - 将 float 序列化为 32 位整数的可移植方法

C++ - 字符数组以某种方式初始化为错误的大小

c++ - 如何使用 libxml2 的 SAX 接口(interface)来解析流式 xml 文件?

c - UDP 端口扫描器问题,C

c - “for”循环在多维数组中失败

c - GDB 函数参数条件中断

debugging - 防止调试 session 在每次低级退出后暂停

c++ - 结构的内存分配(低性能)

c - 此代码片段如何在 I2C Controller 中工作

linux - linux "gdb a.out param1 param2"是否将 param1 和 2 传递给 "gdb"或 "a.out"?