GDB 基本用法

Posted gzwangjiaxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDB 基本用法相关的知识,希望对你有一定的参考价值。

1、编译文件时需要加上 -g 选项,并非是将源码嵌入可执行文件,只是加入源代码的信息。eg:gcc -g main.c -o main

2、直接按回车键会重复上一条命令

3、基本指令

  help,可以查看某一具体组的help信息,比如help files

  list(l) [符号名或者行数]  列出源文件内容

  quit(q)

  next(n) 单步执行

  step(s) 跟踪执行 finish 结束跟踪执行

  backtrace(bt) 查看函数调用栈帧

  info(i) 查看信息,eg:i locals

  frame(f) 查看具体的栈帧 eg:f 1

  print(p) 打印各种信息

  set var 修改变量的值

  start 开始执行程序,停在main函数的第一句等待

  break(b) 断点 continue(c) 连续执行到下一断点处

  i breakpoints 查看当前断点

  break 【n】 if 条件断点

  break 【函数名或者行号】

  delete/disable [n] 删除/废弃对应编号的断点

  run(r) 重新从程序头开始运行程序

  display 和 undisplay,显示变量,每次程序停下来都会显示变量的值

  x 打印指定存储单元的内容,全部当成字节来看,eg:x/7b  input 表示打印每个字节一组,打印7组

  watch 设置观察点

  i watchpoints 查看观察点信息

  

  

以上是关于GDB 基本用法的主要内容,如果未能解决你的问题,请参考以下文章

Gdb学习笔记1

gdb用法

gdb调试用法

各种STL的基本用法

工欲善其事,必先利其器之gdb五大高级用法

工欲善其事,必先利其器之gdb五大高级用法