linux下GDB调试

1.GDB简介:

  GNU 的调试器称为 GDB,是一个交互式工具,工作在字符模式下。很多程序员习惯于图形界面的程序开发,如 VCVB 等集成开发环境,但是在 UNIX/Linux 环境下,GDB 的功能更强大。

  GDB 作为功能强大的调试工具,可完成如下的调试任务:
  (
1)设置断点。

  (2)监视程序变量的值。
  (
3)程序的单步执行。
  (
4)修改变量的值。

 

2.GDB的使用

 

  GDB常用命令:  

   a)加载应用程序:

 

    gdb test  (加载应用程序)

 

    gdb + file test  (路径下的程序)

 

    gdb+ attach 6678 (加载某个进程PID)
     b) 运行程序 : r(un)
          c)继续运行程序: c(ontinue)
          d) 设置断点:
  •b 100   --在当前文件的100行设置断点
  •b /mnt/hgfs/AnyCore/src/newcore/schedule/schedule/backupschedule/FileSchedule/ncFilePushStreamEvent.cpp:104 –在指定文件的指定行设置断点
e) 取消断点
  d 1      --取消第一个断点
  d         -- 取消所有断点
f) 显示当前断点信息
info break
g)显示代码
l(ist)
list 10
h)单步走
不进函数内部单步走:n (ext)     --不进入函数内部(F10)
跟踪到函数内部单步走: s(tep)  --进入函数内部(F11)
i)跳出当前函数
 fini(sh)
j)显示变量的值
p a
p str.c_str
p vec.size ()
k)设置变量的值 

set a=10

m)使用shell命令
shell ps -a
shell pwd

Ctrl+D退出shell命令

n)打印堆栈信息 
  •bt (backtrace)  
o)列出线程
info threads
p)跳转到线程
thread n

 

 

 

 

 

 

 

 

 

posted @ 2012-11-07 13:44  codersu  阅读(317)  评论(0编辑  收藏  举报