网站建设资讯

NEWS

网站建设资讯

Shell中Debug命令怎么用

小编给大家分享一下Shell中Debug命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

为企业提供成都网站设计、成都网站建设、网站优化、营销型网站、竞价托管、品牌运营等营销获客服务。创新互联拥有网络营销运营团队,以丰富的互联网营销经验助力企业精准获客,真正落地解决中小企业营销获客难题,做到“让获客更简单”。自创立至今,成功用技术实力解决了企业“网站建设、网络品牌塑造、网络营销”三大难题,同时降低了营销成本,提高了有效客户转化率,获得了众多企业客户的高度认可!

使用Host的Target Server与Target的WDB Agent连接后,既可以使用  Workbench的Debugger进行图形化的在线调试,也可以使用  Host Shell的gdb进行命令行的调试。  
如果没有Target Connection呢?其实VxWorks还提供了一个专门用在Shell里的dbgLib - debugging facilities(INCLUDE_DEBUG)
-> dbgHelpb                               Display breakpoints and eventpointsb         addr[,task[,count [,quiet]]]                                Set breakpointbi        [bpId]                Display breakpoint(s) detailed informatione         addr[,eventNo[,task[,func[,arg]]]]] Set eventpointdprintf   addr,task,count,fmtStr[,args]                                Set dynamic printf eventpointbd        addr[,task]           Delete breakpointbdall     [task]                Delete all breakpoints and eventpointsc         [task[,addr[,addr1]]] Continue from breakpointcret      [task]                Continue to subroutine returns         [task[,addr[,addr1]]] Single stepso        [task]                Single step/step over subroutinel         [adr[,nInst]]         List disassembled memorytt        [task]                Do stack trace on taskhdprintf  addr,access,task,count,fmtStr[,args]                                Set hardware dynamic printf eventpoint                                (bh() help entry lists access modes)bh addr[,access[,task[,count[,quiet]]]] Set hardware breakpoint         access :      0 - instruction        1 - write 1 byte                       3 - read/write 1 byte  5 - write 2 bytes                       7 - read/write 2 bytes d - write 4 bytes                       f - read/write 4 bytes 9 - write 8 bytes                       b - read/write 8 bytes

写个小栗子

#include 
void eee(){    printf("!%s\n", __FUNCTION__);    }void ddd(){    printf("!%s\n", __FUNCTION__);    eee();    }void ccc(){    printf("!%s\n", __FUNCTION__);    ddd();    }void bbb(){    printf("!%s\n", __FUNCTION__);    ccc();    }void aaa(){    printf("!%s\n", __FUNCTION__);    bbb();    }

用它来试试这个dbgLib的操作

先加个断点,例如在bbb()的位置

Shell中Debug命令怎么用

从aaa()启动程序,新任务会在bbb()处停住  

Shell中Debug命令怎么用

使用tt  ()看一下调用栈,使用l  ()看一下即将执行的汇编代码(尽管我也看不懂)  

Shell中Debug命令怎么用

使用dprintf()加个动态事件点,例如在ddd()的位置

Shell中Debug命令怎么用

使用c()让程序执行到下一个断点或结束  

Shell中Debug命令怎么用

以上是“Shell中Debug命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


名称栏目:Shell中Debug命令怎么用
网页网址:http://njwzjz.com/article/gjcecc.html