Linux下C/C++学习4——程序调试

gcc编译的几种错误信息及其解决方法
1.语法错误
   一般实在输入代码时括号不匹配或者使用了关键字。遇到语法错误,可以仙剑次错误提示中出现的第一个行号,如果该行没有问题,就检查该行所开始的语法模块是否完整,然后修正该结构。
2.头文件错误
   如果编译器出的错误提示说can not find include file ***.h,就说明是指定的包含文件有问题,系统在编译过程中找不到指定的头文件
3.类库错误
   如果出现类似“ld:-lm:No such file or directory”的错误,可能是在默认的目录内找不到相应的类库。这种问题的解决方法是在编译时使用-I参数指定要使用的类库所在的目录。
4.未定义符号
   出现类似Undefined symbol 的提示,说明在编译过程中发现了没有被定义的符号变量

gdb简介
gdb 程序名
gdb
这两种方式均可进入gdb的交互式调试界面。在交互模式中可以使用许多命令:
  • file;加载要调试的程序
  • kill;终止正在调试的程序
  • list;列出10行程序的源代码
  • next;单步执行程序
  • step;单步执行程序,与next不同的是,其会进入调用的函数内部。而next只需要调用函数的结果。
  • run;运行加载的程序
  • quit;退出gdb
  • watch;监视一个变量的值
  • break;在代码里设置断点,程序运行到断点处时会停下来,然后用户可用next或step单步执行程序。但使用break的前提是程序在编译时使用了g参数
  • make;不用退出gdb,重新编译代码,然后在gdb中运行
  • shell;可调用shell命令
  • bt;查看函数堆栈
  • c函数;继续运行
  • finish;退出函数
  • info;查看相关信息,如info break

posted on 2012-04-04 14:26 Daywei 阅读(470) 评论(0)  编辑 收藏 引用 所属分类: Linux


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章档案

牛人博客

搜索

积分与排名

最新评论

阅读排行榜