荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (Welcome to InstallBBS,Linux!), 信区: Linux
标  题: dbx使用指南1
发信站: 荔园晨风BBS站 (Wed Dec 19 20:19:22 2001), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk.bbs@bbs.nju.edu.cn 所发表 】
发信人: bigbuffalo (大水牛), 信区: LinuxUnix
标  题: dbx使用指南1
发信站: 南京大学小百合站 (Tue Dec 18 13:31:37 2001), 站内信件

发信人: godugodu (本id收归国有), 信区: Unix
标  题: dbx使用指南1
发信站: BBS 水木清华站 (Tue Mar 14 20:22:05 2000)

dbx是unix下普遍的源码调试工具,
掌握好了dbx的使用,无疑象增添了泥在unix下编程的一把利器
查找了一下整个unix板精华区,都没有发现有dbx的介绍文档,
大概各位大侠都对这个土土的东东都不愿浪费笔墨巴
研究了一下午dbx的连机文档,发现dbx很是简单易用
现在简单介绍一下dbx的使用方法,让更多的朋友免去独自研究的苦楚
dbx主要用来调试用f77或cc等编译工具生成的fortran和c语言的源代码
当然该程序必须在调试过程中用-g参数包含入调试信息,比方说
我在unix下编写了一个hello.c的程序:
void hello();
main
{
 int i,j;
 i=1;
 j=2;
 i=i+1;
 hello();
 printf("%d,%d\n",i,j);
}
}
void hello()
{
 printf("hello");
}
先用cc -o helloexe -g hello.c编译生成带调试信息的helloexe文件
然后用dbx helloexe来调试该文件
显示dbx)这个dbx下调试的提示符
现在泥还不处在调试状态下,需要首先进入调试状态,
这样泥需要先确定从哪里开始第一次中断,以便以后的跟踪调试
这里从第7行开始调试,用命令:
dbx)stop at 7
设置好断点后就开始运行;
dbx)run
这时程序运行到第7行停止下来,
并显示下一行将要执行的程序7: i=i+1
这时,泥可以用:
dbx)print i命令来查看i变量的值
显示
1
或者用printf "%d",i来显示用c语言格式的输出
对以后比较负责的数组什么的,用
dbx)duel i方式可能更加显示的方便
这时程序运行到第7行停止下来,
以后
泥可以用
dbx)step或者 step ==trace into
dbx)next来执行下一行程序,next=trace over
用dbx)cont命令可以直接运行到结束,
其中控制命令多多,功能十分强大的.
查看源码可以用
dbx)list begin,end
就显示hello.c文件中从begin到end行的所有程序,并且配上了行号
用dbx)file <filename>可以改变泥要查看的源码文件名称.
enjor it!

--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.7.200]

--
没人知道我是牛

※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 202.119.36.188]
--
※ 转寄:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 深圳大学BBS]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店