1

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

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

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

4

2 回答 2

2

尝试使用:

ulimit -d unlimited

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

于 2017-01-27T10:02:53.427 回答
1

你用的是什么版本的gdb?

gdb 中有一个旧错误可能导致此问题:

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

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

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

于 2010-09-06T07:53:31.420 回答