代码改变世界

GCC和GDB

2013-05-21 08:49  夏洛克·福尔摩斯  阅读(223)  评论(0编辑  收藏  举报

GDB:

GDB:
1.编译生成可执行文件: gcc -g tst.c -o tst
2.启动GDB :gdb tst
3. 在main 函数处设置断点: break main
在哪一行设置断点: break n
在指定文件的哪一行设置断点: break file:n
4. 运行程序 : run
5.单步运行: next(不进入子函数)
单步执行: step (进入子函数)
6.继续执行: continue=>c
7.退出: quit


info break 查看所有设置的断点
delete 断点编号 删除断点
run 开始运行程序
print(p)变量名 :查看指定的变量值
finish 运行程序,直到当前函数结束
watch 变量名 对指定变量进行监控

 

 

GCC:

²        Gcc 基本用法:gcc编译选项è  

  • -o  :确定可执行文件的名称
  •  -c   :只编译,不连接成为可执行文件,编译器只是由输入的  .c   等源代码文件生成
  •  .o  为后缀的目标文件。
  • -g :产生调试工具所必要的符号信息,要想对编译出的程序进行调试,就必须加入这个选项。(要对程序进行调试,必须加-g 选项)
  •  -O 对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件效率可以提高,但是,编译、连接的速度就相应的变慢一些。
  • -I  + dirname :将dirname所指出的目录加入到程序头文件目录列表中 。
  • 利用 time ./(可执行文件) 可以算出程序执行需要的时间。
  • -Wall :生成所有警告信息
  • -w:不生成任何警告信息

²