我正在尝试在Linux上使用gdb调试应用程序。但是,从我想要调试的共享库中加载符号时,gdb始终失败并显示错误:
gdb/utils.c:904: internal error: virtual memory exhausted: can't allocate 5592 bytes.
uname
显示unlimited
所有参数,包括vmemory
。关于如何解决这个问题的任何想法?
答案 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可用的实际可用空间量。