vxworks调试命令
扫描二维码
随时随地手机看文章
vxworks调试小结
1、调试指令,dbgHelp显示所有的调试命令
(1)b设置断点
设置的方法有:“b 函数名”
“b 地址”(函数地址或者代码行地址,取决于看懂汇编)
“b 函数地址,任务地址”(i列出所有的任务,找到任务地址)
(2)ti查看当前任务的信息
断点断住时,ti显示断住任务寄存器信息,r3为this指针地址,r4后续依次为函数的参数值
cret函数返回时,r3为函数的返回值
(3)lkup和lkAddr符号查找
lkup:符号到地址,例如:lkup "bdmain"
lkAddr:地址到符号,例如:lkAddr 0x004a5740
(4)l反汇编
l 0x004a5740,20 从该地址开始的20条指令
(5)查看和写入内存命令d、m
d 0x80000000,32,1 ,查看0x80000000地址附近的32个字节的内存空间
2、系统命令
(1)任务相关的ti、ts、tr、sp、td、 checkStack、spy、spyStop、mRegs、taskPriorityGet、taskPrioritySet 、taskOptionsSet
(2)信号量相关的semShow、semGive、 semMGiveForce
(3)内存相关的d、m、memShow、malloc、free
(4)网络相关的ping、ifShow等
1.与任务相关的命令
sp ,[arg1],...,[arg9]
-启动任务,最多接受9个参数,默认的优先级100、堆栈20000字节
period n,,[arg1],...,[arg8]
-创建一个周期调用的任务,周期为n秒,最多接受8个参数
repeat m,,[arg1],...,[arg8]
-创建一个反复调用的任务,调用次数为m,m=0时永久调用,最多也是8个参数
ts tidX -挂起任务
tr tidX -恢复挂起的任务
td tidX -删除任务
i tidX -显示任务基本信息,参数为0时显示全部任务
ti tidX -显示任务详细信息,包括寄存器、堆栈等
tt tidX -显示任务的函数调用关系
checkStack tidX -显示任务堆栈使用的历史统计,参数为0时显示全部任务
[其中tidX可以为任务ID 也可以为任务名]
2、系统信息
lkup ["string"] -在系统符号表中查找并列出含有"string"字符的函数及全局变量,有两个特殊参数:
0,给出符号表统计;""(空字符串),列出全部符号
lkAddr addr -显示addr地址附近的符号表
l addr,[n] -显示addr地址开始的n条指令的反汇编,n省略时默认为10条指令
h [n] -n为0时列出最近执行的shell命令,默认20条;n非0时,设定shell记录的历史命令的数目
d [addr,[number],[width]]
-显示addr地址开始的number个单元的内容,width定制每个单元的宽度,可以是1、2、4、8
m addr,[width] -按width宽度修改addr地址的内容,width可以是1、2、4、8
memShow 1 -显示系统分区上空闲和已分配空间的总数等
printErrno value -打印系统定义的错误码的宏
3、与网络相关的命令
ifShow ["ifname"] - show info about network interfaces
inetstatShow - show all Internet protocol sockets
tcpstatShow - show statistics for TCP
udpstatShow - show statistics for UDP
ipstatShow - show statistics for IP
icmpstatShow - show statistics for ICMP
arpShow - show a list of known ARP entries
mbufShow - show network stack data pool statistics
netStackSysPoolShow - show network stack system pool statistics
routeShow - display all IP routes (summary information)
mRouteShow - display all IP routes (verbose information)
routestatShow - display routing statistics
routeAdd "destaddr","gateaddr" - add route to route table
routeDelete "destaddr","gateaddr" - delete route from route table