background image

C/C++ 编译器和调试器以及静态库、动态库使用汇总

    经常的,有朋友问到有关 unix 下面条是的技术。我整理了大多数的 unix 系统下面的常
用的调试工具的调试技术的文章。希望对大家有所帮助。

另外静态库、动态库也是问的频率比较高的问题。在这里也做了总结。

######大多数 unix 系统下面的调试器的使用方法如下:######

***************gdb 介绍*********************
GNU 

 

的调试器称为 gdb

 

,该程序是一个交互式工具,工作在字符模式。在 X Window 系统

 

中,有一个 gdb 的

 

前端图形工具,称为 xxgdb。gdb 是功能强大的调试程序,可完成如下的调试任务:
* 设置断点;
* 监视程序变量的值;
* 程序的单步执行;
* 修改变量的值。

 

在可以使用 gdb 

 

调试程序之前,必须使用 -g 选项编译源文件

 

。可在 makefile 中如下定义 

CFLAGS 变量:
CFLAGS = -g

 

运行 gdb 调试程序时通常使用如下的命令:
gdb progname

 

在 gdb 提示符处键入 help,将列出命令的分类,主要的分类有:
* aliases:命令别名
* breakpoints:断点定义;
* data:数据查看;
* files:指定并查看文件;
* internals:维护命令;
* running:程序执行;
* stack:调用栈查看;
* statu:状态查看;
* tracepoints:跟踪程序执行。

 

键入 help 后跟命令的分类名,可获得该类命令的详细清单。

*********gdb 的常用命令***************

 

命令 解释
break NUM 在指定的行上设置断点。
bt 显示所有的调用栈帧。该命令可用来显示函数的调用顺序。
clear 删除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。
continue 继续执行正在调试的程序。该命令用在程序由于处理信号或断点而