|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我用arm-elf-gcc交叉编译程序ctorrent(已经加参数-g,且arm-elf-ld 没用到参数-S,Makefile中也没有用到arm-elf-as --gstables),编译成功后,(gdbserver板子的系统里有)用NFS搭建好远程arm-elf-gdb调试环境
进入调试环境,
(gdb)输入target remote HostIP:2345,Host提示成功建立连接:"0*91740050 in ??()";开发板那边终端显示也正常(给出了说明正接受来自Host的remote debug,也显示程序的地址范围,数据范围)
(gdb)输入list break 命令,提示 “No symbol table is loaded”
.. 输入 run ,提示用 "file...";
输入 info program, it says:" Program stopped at 0*91740050
it stopped with signal SIGTRAP, Trace/breakpoint trap"
输入 info threads , it says:" Warning : couldn't restore frame in current thread ,at frame 0"
输入 backtrace,也说 0*91740050 出错(好像是函数树段错误)
。。。
还有,搭建环境的时候我是让NFS挂载到我的工作目录,.gdb文件都在,但是竟然出这样的错误。
后来我编了一个小的hello程序(printf"oooooo"),现在linux下gdb 调试一切OK!!
但是arm-elf-gcc编译后,用arm-elf-gdb远程调试,结果与上面几乎一样(除了函数停止的地址);
此刻我输入command : continue,该hello函数在板子的终端处显示 printf 的结果后,跳出调试环境到根目录了,调试上面ctorrent的时候也有这个情况
在网上也搜了很长时间,有说是gdbserver的问题或者多进程的问题,但是没有发现正确的答案。请知道的大虾指点一哈啊
(环境Redhat linux 9.0 ucLinux 2.4...) |
|