Tool之Debugger

原创
2019/11/18 08:22
阅读数 27

欢迎关注 VxWorks567

如转发,请标明出处!

 

使用《Tool之TargetServer(vx6)》连接Target后,就可以使用Debugger了

在DKM/RTP或Target Connection上右击,都可以启动Debugger

不管是调试DKM还是RTP,操作都是一样的。试一个简单的DKM吧:

启动Debugger后,首先看到的是Debug Configuration页面

  • 唯一必须做的是指定Entry Point,即要调试的程序入口,例如上面例子的函数test()。

  • Arguments就是这个Entry Point的入参,如果有多个参数,就用空格间隔,如果不填的话,WorkBench就会自动补0

  • Break On Entry默认是选中的,指的是程序启动后,就在入口处停下来。

  • Automatically attach spawned Kernel Tasks指的是也调试当前程序里创建的新任务。

  • 在Downloads页面里,可以看到当前要下载的文件。

点击Debug按钮后,WorkBench就会自动打开Device Debug视图,而程序就在第一行代码处停下了。这个视图里,有多个与调试相关的小窗口

在Variable里可以看到当前的局部变量;或者在任意变量上右击选择Watch,就可以在Expressions里它了,也可以直接在这里调整变量的值

接下来就可以单步调试程序了

  • Step Over:执行当前语句

  • Step Into:跳转到当前语句内部

  • Step Return:返回到当前语句上一级

  • Resume:执行到下一个断点,如果没有断点,就是一直执行了

更多的时候,是直接在关心的语句位置加个断点,然后执行Resume。在code这个文本框的左边框上双击就是添加断点,再次双击就是取消断点

还有一种常用的调试方式是:调试已经执行的任务。例如这个例子:

先让程序跑起来,然后在Target Connection里找到相应任务,右击Attach

更多的细节,靠文字很难描述与理解了,还是动手练一下吧。据说《实践是检验真理的唯一标准》入选普通高中语文教材了

 

这正是:

定位问题用调试,单步执行更细致。

 

我是泰山,专注VX 15年!

欢迎关注VxWorks567,

一起学习,共同进步!


本文分享自微信公众号 - 这里只有VxWorks(VxWorks567)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部