当前位置: 技术问答>linux和unix
gdb调式所导致 cannot allocate memory !
来源: 互联网 发布时间:2016-06-18
本文导语: 首先:gdb -g -rdynamic hu.c 然后 gdb ./a.out GNU gdb Red Hat Linux (6.3.0.0-1.143.el4rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or dist...
首先:gdb -g -rdynamic hu.c 然后 gdb ./a.out
GNU gdb Red Hat Linux (6.3.0.0-1.143.el4rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb)
就这样没反应了,第一次学着用gdb调式程序,然后我就q退出来了。出来一看当前目录下多了个-rdynamic文件。接着执行的操作从历史里面提取的,如下:
968 vi -rdynamic
969 ll
970 ls
971 rm -f -rdynamic
不过 vi和rm都无效
然后我就gcc -o hu hu.c 接着 ./hu 此时报“cannot allocate memory”现在只要已执行程序就报那个错误。
请高手指点,谢谢了。
GNU gdb Red Hat Linux (6.3.0.0-1.143.el4rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb)
就这样没反应了,第一次学着用gdb调式程序,然后我就q退出来了。出来一看当前目录下多了个-rdynamic文件。接着执行的操作从历史里面提取的,如下:
968 vi -rdynamic
969 ll
970 ls
971 rm -f -rdynamic
不过 vi和rm都无效
然后我就gcc -o hu hu.c 接着 ./hu 此时报“cannot allocate memory”现在只要已执行程序就报那个错误。
请高手指点,谢谢了。
|
Cannot allocate memory可能是你上次正在调试的程序还在debug状态运行,没有退出。
把gdb和a.out进程kill掉试试看。
用gdb调试的流程一般是这样的:
gcc -g -o test test.c
这样编译,然后
gdb -q ./test
是不是前面输错了?
你的gdb -g -rdynamic hu.c不知道是什么意思
把gdb和a.out进程kill掉试试看。
用gdb调试的流程一般是这样的:
gcc -g -o test test.c
这样编译,然后
gdb -q ./test
是不是前面输错了?
你的gdb -g -rdynamic hu.c不知道是什么意思
|
推荐你使用eclipse-cdt调试c/c++程序,
集成开发环境还是用起来爽一些。
gdb界面太过不友好。
集成开发环境还是用起来爽一些。
gdb界面太过不友好。
|
gdb -g -rdynamic hu.c
是不是应该是
gcc -g -rdynamic hu.c
是不是应该是
gcc -g -rdynamic hu.c
|
首先 应该是gcc -g -rdynamic hu.c
选项 -rdynamic 用来通知链接器将所有符号添加到动态符号表中
(目的是能够通过使用 dlopen 来实现向后跟踪)
至于错误,估计你的a.out本身就有问题。。
重新编译一下试试。
选项 -rdynamic 用来通知链接器将所有符号添加到动态符号表中
(目的是能够通过使用 dlopen 来实现向后跟踪)
至于错误,估计你的a.out本身就有问题。。
重新编译一下试试。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。