当前位置:  技术问答>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”现在只要已执行程序就报那个错误。
请高手指点,谢谢了。

|
Cannot allocate memory可能是你上次正在调试的程序还在debug状态运行,没有退出。
把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 -g -rdynamic hu.c
是不是应该是
gcc -g -rdynamic hu.c

|
首先 应该是gcc -g -rdynamic hu.c 
选项 -rdynamic 用来通知链接器将所有符号添加到动态符号表中 
(目的是能够通过使用 dlopen 来实现向后跟踪) 

至于错误,估计你的a.out本身就有问题。。
重新编译一下试试。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 博客 iis7站长之家
  • 如何使用linux下gdb来调试python程序
  • 使用gcc gdb的大牛进来说说gdb的强大之处在哪。我刚学linux了,vim我确实体会到了其强大之处。而对gcc gdb,体会不到gdb这工具的强大之处。
  • 请教 make gdb-6.4 出现 make[4]: Entering directory `/tmp/gdb-6.4/gdb/doc'
  • GDB调试 GDB挂了。。。
  • gdb 如何调试带命令行参数的程序 如 gdb a.out arg1,arg2
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • gdb调试时命令行参数如何输入?比如main(int argc,char **argv)中,我要把一个filename作为argv[1]传入给gdb调试
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • 写调试器(像gdb)的一般思路是什么
  • gdb 使用问题请教
  • gdb的问题,请教,会者不难,快来拿分
  • gdb调试动态链接库
  • 在rh9上无法使用gdb是怎么回事呢
  • gdb高手请指教
  • gdb如何进行调试?
  • 请问,有人研究过gdb-insight源码吗?
  • 在linux下除了gdb外还有没其他好用的调试器?
  • gdb调试
  • Linux下gdb如何追踪进入子进程??急急7777777777777
  • 如何编译gdb
  • 怎样在windows中编译生成gdb


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3