当前位置:  技术问答>linux和unix

求助:gdb调试core文件,加了-g参数,还是显示no debugging symbols found

    来源: 互联网  发布时间:2016-10-19

    本文导语:  如题。 1、在PC机上编写了测试程序。 #include  #include  int main() {         char *p;           strcpy(p,"hello"); } 2、在PC机的linux下运行及gdb调试core正常。 [root@localhost test]# gcc -g -o test_kkk test_kkk.c [root@localhost...

如题。

1、在PC机上编写了测试程序。

#include 
#include 
int main()
{
        char *p;
 
        strcpy(p,"hello");
}

2、在PC机的linux下运行及gdb调试core正常。

[root@localhost test]# gcc -g -o test_kkk test_kkk.c
[root@localhost test]# ./test_kkk
段错误 (core dumped)
[root@localhost test]# gdb -c core.141
core.14188  core.14198  
[root@localhost test]# gdb -c core.14198 test_kkk
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
 
warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Core was generated by `./test_kkk'.
Program terminated with signal 11, Segmentation fault.
[New process 14198]
#0  0x08048388 in main () at test_kkk.c:7
7               strcpy(p,"hello");
(gdb) bt
#0  0x08048388 in main () at test_kkk.c:7
(gdb) 

3、将程序下载到硬件平台上后,gdb运行core如下。

arm-linux-gcc -g -o test_kkk test_kkk.c
 ./gdb -c core test_kkk 
GNU gdb (GDB) 7.0
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux".
For bug reporting instructions, please see:
...
Reading symbols from /mnt/nand/fw/test_kkk...done.
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.3
Core was generated by `./test_kkk'.
Program terminated with signal 11, Segmentation fault.
#0  0x4009920c in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x4009920c in memcpy () from /lib/libc.so.6
#1  0x00000000 in ?? ()
(gdb) 


4、为什么还是出现了no debugging symbols found,导致bt命令后,不能正常的显示错在哪一行。

补充说明:
   1、gdb是交叉编译到板子上的,可以使用,strip和未strip都试过,结果一样。
   2、板子上运行的linux的所有库文件都是交叉编译环境相同,strip和未strip都试过,结果一样。

我该怎么做????谢谢各位。

|
哦代码就是上面那个啊……那基本上就是栈脏掉然后memcpy最终触发了segfault。没啥好纠结的。

|
可以试试访问NULL确定一下原因
char *p;
=>
char *p = 0;


|
仔细看no debugging symbols found是在哪里的。是载入两个系统lib库的时候没有调试符号……这当然是没有的。乃自己的程序Read symbols不是正常done了么
然后,如果bt都不对的话很大的可能性是整个栈都被乃越界越得破坏掉了。只能先静态调试确定哪里出问题再说。

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












  • 相关文章推荐
  • 求助:ioctl函数的命令参数
  • 求助关于GCC的几个参数~~~~
  • 一个关于文件运行参数的问题,求助!
  • [求助]如何获取一个程序所使用的系统调用和参数?
  • [求助]gcc时,误将-o 参数后面加了 .c ,结果源文件被覆盖了
  • 大家看看:有点纳闷,为什么linux下的参数那么多重复的?那么多求助的方式?比如一会儿用--help一会儿又是-help一会儿又变成/?了
  • 高分求助gtk_text_buffer_set_text参数中字符编码问题
  • 求助g++编译参数
  • 求助!!!dos全部命令的秘密参数
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


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

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

    浙ICP备11055608号-3