SUN的dbx使用简介.doc_第1页
SUN的dbx使用简介.doc_第2页
SUN的dbx使用简介.doc_第3页
SUN的dbx使用简介.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SUN的开发包中的dbx调试工具简介:(傅斌:译自SUN OS 5.8的联机帮助和Workshop C+ 5.0的dbx联机帮助)User Commands DBX(1)名称dbx 源程序级的调试工具语法dbx -c cmd -C -d -e -F -h -Idir -k -q -r -R -sstartup -S -V -wcount execfile corefile | process-id 概要dbx 是一个为源程序级调试和程序运行而设计的实用工具,其适用的源程序包括C+, ANSI C, FORTRAN 77和 Fortran 90。execfile 是一个可执行文件, 它是由Sun编译器使用 -g选项编译产生的,这种编译将调试信息的符号链接(表)保存于目标文件或者可执行文件中。这个符号表不仅包含了所有源文件的链接,还包含了许多的调试信息。如果不使用 g选项进行编译,调试功能将大打折扣。最初,符号表分别存放于每个目标文件中。如果编译未产生目标文件,所有调试信息就将被记录在可执行文件中。将调试信息分布式地存放于各目标文件中,使得dbx可以根据实际需要读取并装载调试信息,这个功能被称为Auto-Read。如果目标文件在编译之后被删除或移走了,那么就需要你额外地告知dbx它们在哪里。(参阅pathmap命令)如果不能保留.o文件,也可以封闭Auto-Read的功能,并且通过在编译时采用 xs选项将所有调试信息存放于可执行文件中。如果启动时未指定execfile,也可以在dbx的命令行提示符下输入待调试的程序名。如果你只知道一个进程的进程号,而不知道具体的可执行文件在哪里,也可以使用一个 -(短横线)代替execfile,并且通过输入进程号选项,依附于该进程进行调试。如果一个corefile被指定,dbx可以用来诊察程序产生这个core文件当时的状况。在启动时,dbx首先在当前目录下搜索初始化文件 .dbxrc(属ksh模式)。如果没有发现,dbx会打印一条告警信息,并且搜索用户主目录下的 .dbxrc(属dbx模式)。然后依次搜索当前目录下的 .dbxinit和用户主目录下的 .dbxinit。Runtime Checking (RTC) 是被dbx完全集成的一个特性,dbx充分利用其功能进行设置断点和检查变量。通过RTC,你可以在程序运行中的任何时刻侦测实时运行错误。此外,你还可以监控内存的使用情况。通过使用 -g的编译选项可以在错误信息中配合源程序的行数。RTC能够check一个使用了编译优化选项 O的程序。你可以不用重新编译、连接或修改你的makefile而直接使用RTC。RTC要求动态联接标准库libc,并且使用标准库的函数malloc/free/realloc。为了使用RTC,在dbx开始运行程序之前,应该输入一个type-of-checking命令,执行一个check。并且建议你在启动dbx时使用 C选项以提前装载RTC库。当使用64位的dbx调试一个32位的execfile时不要使用 C选项,这是因为 C选项将装载64位版本的库而不是32位的。作为可选方式,RTC也能够在Batch(批处理)模式下运行。参阅bcheck(1)。RTC的checking只会被SPARC的硬件体系支持。 选项-c cmd在dbx提示输入之前,装载程序之后,执行cmd命令。如果cmd不止一个,需要用双引号将它们引起来,并且用分号将其隔开。如果命令包括 $符号,双引号将不起作用。-C使得提前装载RTC库。(并不打开RTC的checking)如果没有使用这个选项,RTC库将在下一次运行时启动,也就是在一个RTC的check命令之后。-dDeletestartupafter processing it.-h在dbx提示输入之前,打印帮助信息。-I dir将dir添加到源程序搜索目录列表中。dbx通常只搜索当前目录和execfile所在目录。这个目录搜索路径可以通过使用pathmap命令重置。-k调试一个将键盘设定为up-down translation模式的程序。如果一个程序使用up-down decoding,这个选项就是必须的。-q安静模式,或者对以下两条提示信息 Reading symbol table for . 和 Attached to . 采取沉默,不显示。-r立即运行execfile。参数跟在execfile名称之后(包括重定向)。如果程序成功结束,dbx也就随之退出。否则,如果发生错误,dbx会报告原因并且等待进一步调试。-R打印README 文件。-s startup从startup脚本中读取初始化命令,而不是 .dbxrc。-S取消读取site-specific的 .dbxrc文件。-V打印当前使用的dbx的版本信息。-w在where命令中跳过并计数前N个frame。(Count - skip the top N frames in the where command.)使用dbx最基本的命令有:run 开始运行被调试的程序where 获取一个栈跟踪的信息(包括程序行数)print 打印变量stop 设置断点 Scope规则dbx基于当前的文件和函数解决scope冲突。当文件或函数被进入或退出时,这些值即被修改。你也可以显式地使用file和func命令来改变它们。在当前的函数被改变时,当前的文件也随之改变,反之亦然。 线程标识在有些命令中,id指的是线程号(tid)或者轻进程号(lid)。这些id表示为tN或者lN。 句柄标识事件句柄是用一个整数hid来标识的。(参阅status,delete和handler命令)命令在dbx命令行提示符下,键入help命令,即可获得完整的dbx命令列表。键入help 命令名,可以获得该命令的详细使用帮助。如果想了解各种命令的详细解释,请参阅SUN的dbx命令详解。执行和跟踪(Execution and Tracing) cancelcatchclearcontdelete fixfixedhandlerignoreintercept nextpopreplayrerunrestore runrunargssavestatusstep stoptraceuninterceptwhenwhocatches显示和命名数据(Displaying and Naming Data) assigncalldisdisplaydown dumpexamineexistsframehide printundisplayunhideupwhatis wherewhereamiwhereiswhich获取源文件(Accessing Source Files) bsearchcdeditfilefiles funcfuncslinelistloadobject loadobjectsmodulemodulespathmappwd search调试多线程 lwplwpssyncsyncsthreadthreads实时检测 checkshowblockshowleaksshowmemusesuppress uncheckunsuppress其它杂项 collectorcommandsdaliasdbxenvdebug detachdocumenthelphistoryimport kaliaskilllanguagemmapfilequit setenvshsource!GUI接口 buttonunbutton机器级指令 adbexaminelistinextiregisters regsstepistopitraceiwheni语言特殊信息帮助主题 c+ObjC其它帮助主题 aliasanachronismsarray-slicingcallbackschanges changes301changes31changes32changes40collectormt .dbxrcdbxeditingenvironmentevents FAQfix-pitfallsfollow-forkformatforwardref invocationkshlwpidMToptions pathprettyprintredirectionregistersrtc scopesignalsstartuptid环境dbx检查EDITOR环境变量,因为要确认编辑命令所使用的工具。TMPDIR环境变量可以用来代替 /tmp目录存放dbx的临时文件。还有其他一些 ksh的环境变量也可能被使用。相关文件 .dbxrc dbx初始化文件 /.dbxrc 个人的dbx初始化文件 .dbxinit 本地的dbx初始化文件(已废止) /.dbxinit 个人的dbx初始化文件(已废止) libcollector.so 共享动态库(collector command) libcollector.o静态目标文件(collector command)。当使用静态连接和collector时连接应用程序。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论