阅 读 文 章

[转贴]UNIX系统开发-dbaxtra调试技术

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(sdccf) | 时间:2007-05-27 | 浏览:人次 ]


  在sco unix下编程大多离不开C语言,即使是数据库应用也有很多是与c搭配使用的,例如informix esql/c 就可以在c语言中嵌入sql 语句。很多人认为在unix下写程序是件很痛苦的事情,其中一个很重要原因是不知道在unix下怎样调试程序。其实在sco unix源码调试器是dbxtra或dbXtra,linux下是gdb。它们类似turbo c的调试器,可以跟踪源码变量。在unix 下调试程序有如下传统方法 
  一、在要调试语句之前,输出要调试的变量,利用printf()函数。 
  二、写日志文件,把结果输出到文件中避免屏幕混乱,利用fprintf()函数。 
  三、利用sco 内置调试器dbxtra或dbXtra。 
  dbxtra 适用字符界面,在sco unix的图形界面用dbXtra。(编按:请注意大小写) 
以下是dbxtra基本命令: 
  c cont 在断点后继续执行 
  d delete 删除所设断点 
  h help 帮助 
  e edit 编辑源程序 
  n next 源程序区的内容向下翻一屏。 
  p print 显示变量 
  q quit 退出dbxtra 
  r run 运行程序,直到遇上设置的断点 
  rr rerun 再次运行 
  s step 单步运行 
  st stop 设置断点 
  j status 显示当前断点 
  t where 显示当前状态,列出所有设置的变量值 
  di display 开显示窗,用于查看变量 
  ud undisplay 删除显示窗的条目 
  f forward 源程序区的内容向上 翻一屏。 
  B backward 源程序区的内容向下 翻一屏。 
  Stopi stop inst 设置断点 
  tracei trace inst跟踪子程序 

dbxtra [options] [objectfile ] 

  dbxtra 在启动时有个参数-Idir值得一提.我们在编写一个较大程序的时候,通常源程序和编译生成的可执行文件都放在不同的目录中,这样便于管理。默认dbxtra将在可执行文件所在的目录下找匹配c的源程序。当我们启动时,指定-I参数,dbxtra就会到我们指定的目录下找匹配的c程序。 例如: 
  dbxtra -I"\work\c" program1 
  源程序在用cc编译时要带上-g 参数,这样是加上符号表等调试信息。只有这样编译过的文件,dbxtra才可以调试。调试信息使源代码和机器码关联。 
  下面这个C程序输出结果和我们的预想结果不一样,说明某些地方有错误。我们用调试器来调试它: 

   程序一: 
   t.c 
   main() 
   { 
    int i=10 ,*p1; 
    float j=1.5,*p2; 
    p1=&i 
    p2=&j 
    p2=p1; 
    printf("%d,%d\n",*p1,*p2); 
   } 

   首先带上-g参数编译 cc -g -o t t.c 
   启动调试器 dbxtra t 
   屏幕显示: 
   1.main() 
   2.{ 
   3.  int i=10 ,*p1; 
   4.  float j=1.5,*p2; 
   5.  p1=&i 
   6.  p2=&j 
   7.  p2=p1; 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 调试 技术 开发 系统 dbxtra 程序 p2 p1 我们 执行 变量

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.