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