主题 : 求助GDB调试啊~~~ 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 59726
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2011-11-29
最后登录: 2011-12-01
楼主  发表于: 2011-11-29 09:57

 求助GDB调试啊~~~

弄了好几天的GDB调试,编译也做了好久了,版本现在用的是6.8,因为指望能用insight6.8
gdbserver确实能在开发板上运行,然后主机用target remote 能够连上,也可以全速运行,就是不能设断点和单步调试!!!谁能拯救一下啊~~~
每次一设断点,提示设置成功,然后continue,会提示收到SIGILL然后重新再次continue,开发板就显示child terminated with signal = 0x4 (SIGILL) GDBserver exiting。
这是什么原因呢,无论是大程序还是hello world都是如此,是gdb编译有问题么,我是按这个网站做的http://lionwq.spaces.eepw.com.cn/articles/article/item/17058
而且也试了好几种做法了,都是这个样子,就是无法用断点调试,只能全速。。。郁闷。。。求拯救
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2011-11-29 11:22
你用来调试的程序是用'-g'标志编译的?能否把主机上gdb的输出和板子的串口输出贴出来?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 59726
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
综合积分: 4 分
注册时间: 2011-11-29
最后登录: 2011-12-01
2楼  发表于: 2011-12-01 08:41

 回 1楼(kasim) 的帖子

我发现是因为Eclipse的缘故。我使用自己手动编写的Makefile文件不会有这个问题,而调试用Eclipse编译的程序就会这样。
但是用Eclipse编译的程序在板子上也能够跑起来。。。
板子上输出一切正常,只是在主机显示收到SIGILL信号后,如果继续用c的话,就显示child terminate wtih sigill,然后退出了。。。大概就是这样,因为板子不在手边。
主机上显示也正常,在调试Eclipse程序时,如果不不加断点,是可以连续跑的,但是一加断点再c就显示sigill了。。。
不知到Eclipse哪里配置有问题。不知版主您使用的开发环境是咋样的,自己写Makefile么?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2011-12-01 11:20
我印象里Eclipse的project也是基于Makefile编译的,只不过Makefile是由Eclipse自动生成的。能否将你的
Eclipse project目录打包传上来?
我一般用别人写好Makefile的项目,比如u-boot或者Linux kernel :)
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."