gdb:虚拟内存耗尽

时间:2010-09-06 07:08:08

标签: linux gdb ulimit

我正在尝试在Linux上使用gdb调试应用程序。但是,从我想要调试的共享库中加载符号时,gdb始终失败并显示错误:

gdb/utils.c:904: internal error: virtual memory exhausted: can't allocate 5592 bytes.

uname显示unlimited所有参数,包括vmemory。关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

尝试使用:

ulimit -d unlimited

这会将虚拟内存分配给用户(通常只有几个kb:do ulimit -d知道该值)到无限kb

答案 1 :(得分:1)

您使用的是哪个版本的gdb?

gdb中存在一个可能导致此问题的旧错误:

http://sourceware.org/bugzilla/show_bug.cgi?id=9232

然而,它讨论的内存块比你得到的错误大得多。

另外,请检查top或free或vmstat可用的实际可用空间量。