2010-09-06 116 views
0

我想在Linux上使用gdb调试应用程序。然而,从共享库我要调试加载符号时,GDB总是失败,出现错误:gdb:虚拟内存耗尽

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

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

回答

0

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

有在gdb的老错误,这可能导致此问题:

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

它大约比你所得到的误差更大尺寸的内存块但是会谈。

另外,请检查通过top或free或vmstat有多少实际可用空间可用。

2

尝试使用:

ulimit -d unlimited 

这将使分配给用户(通常几KB:做ulimit -d知道值)虚拟内存到无限KB