gdb断点调试教程
gdb断点调试教程
- 1、C++示例代码
-
- 1.1、C++示例源码
- 1.2、编译C++示例源码
- 1.3、调试C++示例源码
- 2、gdb断点调试详细教程
-
- 2.1、设置断点
-
- 2.1.1、指定行处设置断点
- 2.1.2、指定函数处设置断点
- 2.1.3、设置条件断点
- 2.2、查看断点信息
- 2.3、禁用断点
- 2.4、解除禁用断点
- 2.4、删除断点
-
- 2.4.1、根据断点编号删除断点
- 2.4.2、根据行号删除断点
- 2.4.3、根据起始点编号删除起始点间所有断点(包括起始点)
本教程基于C++语言,在Linux环境下,通过示例代码讲解gdb断点调试。
通过本教程,您将掌握Linux下如何使用gdb进行断点调试。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210401222153191.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1poYW5neWFuZmVuZzE=,size_16,color_FFFFFF,t_70)
1、C++示例代码
1.1、C++示例源码
/*!
* Copyright (c) 2021,ZYF.
* All Rights Reserved.
*
* \file main.cpp
* \brief
*
* \author ZYF
* \date 2021/1/27 22:49:13
* \version 1.0.0
*/
#include <stdio.h>
void Demo1()
{
int nSum = 0;
for (int i = 0; i < 10; i++)
{
nSum += i;
}
printf("Demo1 sum is %d\n", nSum);
}
void Demo2()
{
int nSum = 0;
for (int i = 0; i < 5; i++)
{
nSum += i;
}
printf("Demo2 sum is %d\n", nSum);
}
int main(void)
{
Demo1();
Demo2();
int nSum = 0;
for (int i = 0; i < 5; i++)
{
nSum += i;
}
printf("Main sum is %d\n", nSum);
return 0;
}
1.2、编译C++示例源码
[root@bogon GCC]# gcc -g gdbDebug.cpp -o gdbDebug
[root@bogon GCC]# ./gdbDebug
Demo1 sum is 45
Demo2 sum is 10
Main sum is 10
[root@bogon GCC]#
1.3、调试C++示例源码
[root@bogon GCC]# gdb -q gdbDebug
Reading symbols from /GCC/gdbDebug...done.
(
雾桉03: 我觉得那个应该是i<=nNumber因为阶乘也得乘这个数的本身,如果不加等于号最后的结果少乘了他本身
BuffaloX_X: 有用,谢谢
RyeRyeRyeRye: xhost执行不了
gblfy: 博主,还是不行有好的办法吗?