【Linux】代码调试 您所在的位置:网站首页 DEBUG程序采用什么指令 【Linux】代码调试

【Linux】代码调试

2024-01-22 13:20| 来源: 网络整理| 查看: 265

Linux系统下代码调试 1.简介

在Linux系统下可以使用GDB进行调试,GNU开源组织发布的一个强大的UNIX下调试程序工具。

一般来说,GDB主要帮助你完成下面四个方面的功能:

1、启动你的程序,可以按照你自定义的要求随心所欲的运行程序。

2、可以让调试程序在你所指定的位置的断点处停止。

3、当程序停止时,可以检查此时你的程序中所发生的事情。

4、动态的改变你程序的执行环境。

2.使用以及常用命令

首先需要在linux系统下安装g++(编译器)以及GDB(调试工具),vim(其余编辑器也可以)

下载g++ sudo apt install g++ 下载GDB sudo apt install GDB 下载vim sudo apt install vim

接下来使用vim写一段代码并保存为文件

vim test.cpp

编写代码之后使用Esc退出vim模式,输入[:wq]进行文件的保存。 接下来使用g++进行编译,注意,如果想要使用GDB进行代码调试,一定要使用下面的命令 (-g是告诉程序要进行调试,使用此命令后,生成的文件没有后缀名)

g++ -g test.cpp -o test

接下来有两种方式进入调试模式 1.直接使用gdb

gdb test //此时会出现很多版本信息,也可使用下面代码 gdb -q test

2.先进入gdb模式,之后加载文件

gdb //进入了gdb模式 (gdb) file test //加载test文件

接下来就可以使用gdb进行各种调试了,常用命令如下:

1.run 运行已经加载的文件

2.list 输出加载文件中的代码,默认输出前10行代码,可以使用 show listsize来查看默认参数,可以使用set listsize 来更改输出代码的行数。还有其他参数:

list 5,10 显示第五行到第十行的代码list func 显示func函数周围的代码list test.cpp:5,10 显示源文件test.cpp中第五行到第十行的代码,用于调试多个源文件的程序

3.break 7 在第七行设置断点,程序停在第七行之前,也可以使用条件表达式和函数名设置断点

(gdb)break 7 if i==10 //条件表达式 (gdb)break func (gdb)info breakpoints //查看断点信息 (gdb)clear 6 //删除第6行的断点,也可以使用函数名 (gdb)delete //参数为端点的编号,可以一次性删除多个端点,使用空格隔开,如果没有参数,默认删除所有断点

4.continue 程序暂停时继续运行程序 5.print

变量名或表达式,打印该变量或者该表达式的值。whatis 变量名或者表达式,可以显示该变量或表达式的数据类型。变量=值,这种形式还可以给对应的变量赋值;类似的还有set variable 变量=值。作用和用print赋值相同。

6.next 继续执行下一条语句,下一条语句遇到函数调用的时候,next不会跟踪进入函数,而是继续执行下面的语句 7.step 下一条语句遇到函数调用的时候,会跟踪进入函数内部。 8.quit 退出调试



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有