上一篇文章中, 我们完成了调试前的配置工作。总体来说,eclipse中的调试配置还是相当简单的。配置好后,就可以在eclipse中展开调试工作了。

本节主要介绍eclipse中调试eCos程序的步骤和方法。在调试过程中,我遇到了一些问题,在此一并说明一下。希望朋友们可以少走一些弯路。

调试方法与步骤

在eclipse中启动调试,与其它IDE环境的调试方法与步骤类似。归纳如下:

1. 启动调试。如果是第一次启动,在配置好后,点击配置界面的Debug按钮,如下图所示。

image

点击Debug按钮后,会弹出一个对话框,如下图所示。

image

这个对话框提示点击Yes按钮后将进入Debug调试界面。可以勾选Remember my decision,这样下次就不会再出现这个对话框了。

点击Yes按钮后进入调试界面,如下图所示。

1

调试界面中的视窗可以根据需要进行调整,并可以根据需要添加新的视窗。

以后,则可以切换到Debug调试界面的Debug视窗,然后点击菜单Run—>Debug,或者按F11来启动调试。

eclipse工具栏中提供了很多调试功能按钮,如单步调试、运行到光标处、停止调试等,每个调试功能都配有快捷键,用户应该学会使用它们,提高效率。

用户可以点击eclipse工作窗口右上的image 相应图标,来回在C/C++界面和Debug界面切换。

调试出现的问题

1. No symbol table is loaded.  Use the “file” command.

image

这是因为在Startup选项卡中没有把Load symbols选上,选上了就不会出现了。如下图所示。

image

2. No source file named cygdrive/e/workspace/proj_ecos/src/test_stm32/service/main/main.c.

image

解决方法:参考文章:http://blog.csdn.net/caroline_wendy/article/details/17056043

原来,这个问题是由于C/C++—>Debug—>Source Lookup Path配置项的Path Mapping配置不正确导致的。原先配置为:cygdrive\e\,正确的配置应该是:\cygdrive\e\。如下图所示。

image

3. No source available for “0x0”

image

大概意思是在0x0地址处找不到变量。对此问题,一直找不到原因。不过,后面发现这不是一个问题。

按照上一篇文章的介绍配置好后,启动调试,每次都会出现上述这个问题, 但这时候,如果执行一次Resume操作(对应F8快捷键,或者工具栏中的image 图标,或者菜单Run—>Resume),则可以往下正常调试。为解决这个问题,我们对调试配置的Startup选项重新配置下,如下图所示。其中,勾选Resume,表示在启动调试时会执行一次Resume操作,正好帮我们解决了上述问题。

2

另外,还在Run Commands中,添加了一条GDB指令:b cyg_user_start,表示在cyg_user_start()函数中设置一个断点。

总结

以上就是关于在eclipse中进行eCos程序调试的介绍。需要说明的是,这仅仅是一个简单的入门,还有很多需要我们去探索和研究。

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

   
© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量