GDB的调试艺术:热手篇

最近需要在linux上使用c++开发后台服务器程序。原先使用Python很顺手,但是基于项目需求的原因需要转到c++开发,后者优点是效率高,缺点是技术难度大,最要命的是调试难度比python要大很多,于是我又不得不把GDB应用的一些知识点捡起来。

在linux上调试c++代码比windows痛苦的多,因为后者有visual studio这个宇宙第一好用的IDE存在,基于命令行的linux唯一的选择就是GDB,你需要记住很多命令,在用户界面下的很多简单调试功能,例如查看变量值等只不过挪动一下鼠标即可,但是在gdb下你需要输出不少命令,好在一旦这些命令熟悉了,使用GDB的效率就会大大提高。因此我借此把GDB的使用心得或学习内容记录下来,以后需要的时候还能查看。

我们先使用一段示例代码来发起GDB调试流程:

#include "stdio.h"
#include "stdlib.h"
//x数组用于将接收的字符型数字转换为整形
//y数组用于排序插入
int x[10], y[10], num_inputs, num_y = 0;

void get_args(int ac, char **av) {  //该函数将命令行输入参数从字符转换为数字并存储在数字x中
    int i;
    num_inputs = ac - 1;
    for (i = 0; i < num_inputs; i++) {
        x[i] = atoi(av[i+1]);
    }
}

void scoot_over(int jj) {//执行插入排序,将数组y中元素向右移动把位置空出来给新的元素
    int k;
    for (k = num_y - 1; k > jj; k++) {
        y[k] = y[k-1];
    }
}

void insert(int new_y) {//获得新的要插入的数值然后插入到数值y
    int j;
    if (num_y = 0) {  //problem here
        y[0] = new_y;
        return;
    }
    for (j = 0; j < num_y; j+
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值