Linux---gdb调试

20 篇文章 0 订阅

手把手教你玩GDB
GDB详解
这里写图片描述

  • 生成可执行文件
  • g++ -g 源代码.c -o 可执行文件名(自定义)
  • 设定断点
  • b 行数

Ctrl-X A 一般的可视化
Emacs+gdb这样的组合也可以

这里写图片描述

  • 退出gdb—>>Ctrl+d

这里写图片描述

Ctrl+X+A

这里写图片描述


一个程序的调试记录
源代码如下:

#include<string>
#include<cstring>
#include<iostream>

using namespace std;
/*
*/

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int num[256];
        memset(num, 0, sizeof(num));
        int start = 0, end = 0;
        int len = s.length();
        int ans = 0;
        while (true) {
            while (end < len && !num[s[end]]) {
                num[s[end++]]++;
            }
            if (end - start > ans) {
                ans = end - start;
            }
            if (end >= len) {
                break;
            }
            while (num[s[end]]) {
                num[s[start++]]--;
            }
        }
        return ans;
    }
};

int main(){
    Solution s1;
    string s("abcdabc");

    cout<<s1.lengthOfLongestSubstring(s);
    return 0;
}

这里写图片描述

这里写图片描述

设定断点
这里写图片描述

运行程序
这里写图片描述

查看运行时数据
这里写图片描述

跳入函数体内
这里写图片描述

display


vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb


  • vimgdb的安装
  • 打补丁,需要重新编译VIM,可以不随便玩我不?
  • 当时是用apt-get 安装的VIM,所以需要查看它安装的具体情况
  • 一般的deb包都在/usr/share
  • 可运行程序一般在/usr/bin, 库在/usr/lib
  • 源码一般也是装到/usr/local
  • 查找命令find、whereis、locate

Linux应用环境实战02:打造属于自己的Vim

京山游侠,这道友写的蛮好的,值得借鉴。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值