调试器gdb使用

版权声明:本文为博主原创文章,欢迎转载,转载请声明出处! https://blog.csdn.net/hansionz/article/details/82633439

Linux调试器-gdb

注意:

  • 1.gcc/g++编译出来的二进制程序,默认是release版本的,没有调试信息
  • 2.要使用gdb调试,必须在源代码生成二进制程序的时候,加上-g选项,产生调试信息
  • 3.使用gdb调试的程序一定是运行时错误,语法错误会在编译时候报错

1.gdb的使用

在学习gdb的过程中一定要和在vs中调试代码对应起来:

  • gdb 可执行文件开始调试
  • Ctrl+d或者q退出gdb

下边是和vs调试时各种操作对应命令学习:

  • l/list显示源代码,每次列10列(在vs中直接可以看到)
  • l/list 函数名显示函数的源代码(在vs中直接可以看到)
  • r/run连续运行程序不是单步(对应vs中的F5)
  • n/next 单条执行(对应vs中的F10逐过程)
  • s/step进入函数调用(对应vs中的F11逐语句)
  • b/break 行号在某行设置断点(对应vs中的F9)
  • b/break 函数名在某函数开头设置断点(对应vs中的F9)
  • info b/break查看断点信息 (右击断点查看断点信息)
  • finish执行当前函数返回,停下来等待命令
  • p 变量打印变量的值(对应vs中监视中输入变量查看值)
  • print(表达式)打印表达式的值(对应vs中监视中输入表达式查看值)
  • set var修改变量的值
  • c/continue从当前位置连续而非单补执行程序(对应vs中的从当前断点跳到下一断点F5)
  • d/delete breakpoints删除所有断点
  • d/delete 断点编号删除某个断点(对应vs中的F9)
  • disable 断点编号禁用某个断点
  • enable 断点标号启用某个断点
  • display 变量名让某个变量常显示(对应vs中监视中输入变量查看值)
  • undisplay取消常显示
  • until 行号跳至某行
  • bt/breaktrace查看各级函数调用及参数
  • info locals查看当前栈帧局部变量的值

猜你喜欢

转载自blog.csdn.net/hansionz/article/details/82633439