代码之家  ›  专栏  ›  技术社区  ›  341008 Sylvain

gdb:虚拟内存耗尽

  •  0
  • 341008 Sylvain  · 技术社区  · 14 年前

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

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

    uname 显示 unlimited 所有参数包括 vmemory . 有什么解决办法吗?

    2 回复  |  直到 7 年前
        1
  •  0
  •   maniac_inside    14 年前

    您使用的是什么版本的gdb?

    gdb中有一个旧的bug,它可能导致此问题:

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

    然而,它谈到的内存块的大小比您得到的错误要大得多。

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

        2
  •  2
  •   Matteo Baldi user1919359    7 年前

    尝试使用:

    ulimit -d unlimited
    

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