Linux系统下使用GDB调试程序

2023-11-23 0 774

gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具,GDB主要来调试C/C++语言写的程序,当然也就可以调试其他语言程序,下面良许教程网为大家分享一下Linux系统下使用GDB调试程序。

问题描述:

    Linux下使用GDB调试程序

问题解决:

    (1)生成调试文件

注:

   使用命令  gdb IOStream.c  -o IOStream -g 最后一个参数是生成gdb调试文件的参数信息(必不可少,否则生成的是可执行的文件)。

   上述出现如上的警告信息,解决的办法是在IOStream.c文件中引用  #include

   (2)载入生成的gbd文件IOStream

注:  

   在Console中输入gdb启动gdb调试

注:

    使用file IOStream  命令载入gdb文件

注:

set args 参数名 设置运行文件的参数值  

   show args 显示参数信息

   (3)源程序信息预览

注:

     使用命令 info souce 可以查看源程序信息。

   (4)源代码预览

 ·    

注:

list     显示程序第linenum行的周围的源程序。  

 list     显示函数名为function的函数的源程序。    

 list      显示当前行后面的源程序。  

 list –     显示当前行前面的源程序。

 list +     显示当前行之后的源程序

注:

    使用list 显示指定行前后的部分代码

注:

   gdb调试时,屏幕信息太多,导致难以看清楚,这时可以使用 shell  clear 命令,清除当前屏幕信息。

  (5)设置断点

注:

   使用命令  b 或者 b 可以在指定行或者指定函数名称处设置断点。

注:

   使用info br 或者 info breakpoints 查看断点信息。

注:

  删除断点可以有以下几种方式:

(1)clear 行号

    (2)delete 断点号

    (3)clear 函数名

  上述三种方式都可以删除断点

    (4)删除所有断点 delete

 (5)开始调试

注:

   使用命令 run 或者 r 可以开始对载入的文件进行调试,程序在第一个断点处停止,可以使用命令 p 变量名 输出变量名对应的值。

 s 表示step的含义,单步执行

注:

next命令,是按照行执行,如果该行有函数调用,单步调试会跳转到程序中,next会执行运行结束该函数调用,无须进入。

注:

display命令,用于跟踪某个变量的变化,每次执行都会输出该变量的值。

   (6)终止调试

注:

命令kill 终止当前正在调试的程序

   (7)退出gdb

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文来源:www.lxlinux.net/2212.html,若引用不当,请联系修改。

相关文章

猜你喜欢
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 4975 +

    运行天数

你的前景,远超我们想象