gdb:虚拟内存耗尽

发布于 2024-09-17 15:31:22 字数 283 浏览 11 评论 0原文

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

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

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

I am trying to debug an application using gdb on Linux. However, when loading symbols from the shared library I want to debug, gdb always fails with the error:

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

uname shows unlimited for all parameters including vmemory. Any ideas on how to resolve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不乱于心 2024-09-24 15:31:57

你使用什么版本的gdb?

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

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

然而,它讨论的内存块大小比您收到的错误大得多。

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

What version of gdb are you using?

There was an old bug in gdb which could cause this problem:

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

It however talks about memory block of much larger size than for what you are getting the error.

Also, do check up how much how much actual free space is available through top or free or vmstat.

青春有你 2024-09-24 15:31:50

尝试使用:

ulimit -d unlimited

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

Try using :

ulimit -d unlimited

This will make virtual memory allocated to a user(usually few kb: do ulimit -d to know that value) to unlimited kb

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文