Linux---gdb调试

来源:互联网 发布:javascript转义字符 编辑:程序博客网 时间:2024/05/18 16:55

手把手教你玩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

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

0 0
原创粉丝点击