Unix(Solaris)系统一般自带dbx调试工具,下面介绍一些常用的命令



1.



执行


dbx


$dbx


可执行文件名


可执行文件在编译的时候必须代上



–g



参数




2.



显示代码


(dbx)list








//


从文件开头列出代码


(dbx)list


n






//


列出第


n


行代码


(dbx)list


m,n






//


列出从


m


行开始的


n


行代码




3.






执行程序


(dbx)run








//


执行不带参数的程序


(dbx)run


arg1…argn






//


执行带参数的程序


该命令相当于


VC


的快捷键


F5




4.



设置断点


(dbx)stop


at


n








//


在第


n


行设置断点


(dbx)stop


in


funcname






//





funcname


函数入口处设置断点


该命令相当于


VC


的快捷键


F9





5.






显示已经设置过的断点


(dbx)status



该命令相当于


VC


的快捷键


Ctrl + B




6.



删除和屏蔽断点


(dbx)delete


n




//


删除断点,


n


为行号


(dbx)disable


n




//


屏蔽断点,


n


为行号


(dbx)enable


n




//


回复断点,


n


为行号


在使用


status


命令显示已经设置的断点时,被暂时屏蔽的断点前会有个“


*






7.






单步执行程序


(dbx)next


使用该命令当执行到函数时候,不进入函数体执行函数细节,一步执行玩函数后,继续向下执行




8.






进入函数体执行


(dbx)step


该命令和


next


类似,只是当执行到函数时候,进入函数体执行函数,将函数体内语句执行完毕后,回到驻函数,继续向下执行




9.



从断点处继续向下执行


(dbx)cont


该命令可以用来从一个断点直接执行到另一个断点,也可以在需要的时候,跳出循环(可以在循环内外各设置一个断点)在跟踪完必要的循环次数,单循环尚未结束的时候,直接跳循环,继续执行




10.






跳转语句


(dbx)goto


n




//n


是行号


跳转到希望的代码,不过该命令不能改变程序的实际执行顺序




11.






显示变量的值


(dbx)print


i




//i


为变量名




12.






显示变量的定义位置


(dbx)whereis


i






// i


为变量名


显示格式为:文件名


.


函数名


.


变量名。如:


test.main.i




13.






显示变量的类型


(dbx)whatis


i




// i


为变量名




14.






在源文件中查找字符串


(dbx)/var




//


向上查找


var


(dbx)?var




//


向下查找


var




15.






在(


dbx


)内部启动和退出


shell


(dbx)sh








//


启动


shell


退出时直接在提示符下写


exit


然后回到


(dbx)


提示符




16.






使用


dbx


解析


core


文件


dbx




可执行文件名




core


文件名