我想在Linux上使用gdb调试应用程序。然而,从共享库我要调试加载符号时,GDB总是失败,出现错误:gdb:虚拟内存耗尽
gdb/utils.c:904: internal error: virtual memory exhausted: can't allocate 5592 bytes.
uname
显示unlimited
的所有参数,包括vmemory
。任何想法如何解决这个问题?
我想在Linux上使用gdb调试应用程序。然而,从共享库我要调试加载符号时,GDB总是失败,出现错误:gdb:虚拟内存耗尽
gdb/utils.c:904: internal error: virtual memory exhausted: can't allocate 5592 bytes.
uname
显示unlimited
的所有参数,包括vmemory
。任何想法如何解决这个问题?
你使用的是哪个版本的gdb?
有在gdb的老错误,这可能导致此问题:
http://sourceware.org/bugzilla/show_bug.cgi?id=9232
它大约比你所得到的误差更大尺寸的内存块但是会谈。
另外,请检查通过top或free或vmstat有多少实际可用空间可用。
尝试使用:
ulimit -d unlimited
这将使分配给用户(通常几KB:做ulimit -d
知道值)虚拟内存到无限KB