欢迎来到天天文库
浏览记录
ID:20275350
大小:39.00 KB
页数:5页
时间:2018-10-11
《sundbx使用简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SUN的开发包中的dbx调试工具简介:(傅斌:译自SUNOS5.8的联机帮助和WorkshopC++5.0的dbx联机帮助)UserCommandsDBX(1)名称dbx–源程序级的调试工具语法dbx[-ccmd][-C][-d][-e][-F][-h][-Idir][-k][-q][-r][-R][-sstartup][-S][-V][-wcount][execfile[corefile
2、process-id]]概要dbx是一个为源程序级调试和程序运行而设计的实用工具,其适用的源程序包括C++,ANSIC,FORTRAN77和Fortran90。execfile是一个可执行文件
3、,它是由Sun编译器使用-g选项编译产生的,这种编译将调试信息的符号链接(表)保存于目标文件或者可执行文件中。这个符号表不仅包含了所有源文件的链接,还包含了许多的调试信息。如果不使用–g选项进行编译,调试功能将大打折扣。最初,符号表分别存放于每个目标文件中。如果编译未产生目标文件,所有调试信息就将被记录在可执行文件中。将调试信息分布式地存放于各目标文件中,使得dbx可以根据实际需要读取并装载调试信息,这个功能被称为Auto-Read。如果目标文件在编译之后被删除或移走了,那么就需要你额外地告知dbx它们在哪里。(参阅pathmap命令)如果不能保留.o文件,也可以封闭Auto-R
4、ead的功能,并且通过在编译时采用–xs选项将所有调试信息存放于可执行文件中。如果启动时未指定execfile,也可以在dbx的命令行提示符下输入待调试的程序名。如果你只知道一个进程的进程号,而不知道具体的可执行文件在哪里,也可以使用一个-(短横线)代替execfile,并且通过输入进程号选项,依附于该进程进行调试。如果一个corefile被指定,dbx可以用来诊察程序产生这个core文件当时的状况。在启动时,dbx首先在当前目录下搜索初始化文件.dbxrc(属ksh模式)。如果没有发现,dbx会打印一条告警信息,并且搜索用户主目录下的.dbxrc(属dbx模式)。然后依次搜索当
5、前目录下的.dbxinit和用户主目录下的.dbxinit。RuntimeChecking(RTC)是被dbx完全集成的一个特性,dbx充分利用其功能进行设置断点和检查变量。通过RTC,你可以在程序运行中的任何时刻侦测实时运行错误。此外,你还可以监控内存的使用情况。通过使用-g的编译选项可以在错误信息中配合源程序的行数。RTC能够check一个使用了编译优化选项–O的程序。你可以不用重新编译、连接或修改你的makefile而直接使用RTC。RTC要求动态联接标准库libc,并且使用标准库的函数malloc/free/realloc。为了使用RTC,在dbx开始运行程序之前,应该输
6、入一个type-of-checking命令,执行一个check。并且建议你在启动dbx时使用–C选项以提前装载RTC库。当使用64位的dbx调试一个32位的execfile时不要使用–C选项,这是因为–C选项将装载64位版本的库而不是32位的。作为可选方式,RTC也能够在Batch(批处理)模式下运行。参阅bcheck(1)。RTC的checking只会被SPARC的硬件体系支持。选项-ccmd在dbx提示输入之前,装载程序之后,执行cmd命令。如果cmd不止一个,需要用双引号将它们引起来,并且用分号将其隔开。如果命令包括$符号,双引号将不起作用。-C使得提前装载RTC库。(并不
7、打开RTC的checking)如果没有使用这个选项,RTC库将在下一次运行时启动,也就是在一个RTC的check命令之后。-dDeletestartupafterprocessingit.-h在dbx提示输入之前,打印帮助信息。-Idir将dir添加到源程序搜索目录列表中。dbx通常只搜索当前目录和execfile所在目录。这个目录搜索路径可以通过使用pathmap命令重置。-k调试一个将键盘设定为up-downtranslation模式的程序。如果一个程序使用up-downdecoding,这个选项就是必须的。-q安静模式,或者对以下两条提示信息"Readingsymbolta
8、blefor..."和"Attachedto..."采取沉默,不显示。-r立即运行execfile。参数跟在execfile名称之后(包括重定向)。如果程序成功结束,dbx也就随之退出。否则,如果发生错误,dbx会报告原因并且等待进一步调试。-R打印README文件。-sstartup从startup脚本中读取初始化命令,而不是.dbxrc。-S取消读取site-specific的.dbxrc文件。-V打印当前使用的dbx的版本信息。-w在where命令中跳过并计数前N个fram
此文档下载收益归作者所有