您的位置:首页 > 运维架构 > Linux

Linux---gdb调试

2015-11-26 11:20 453 查看
手把手教你玩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

京山游侠,这道友写的蛮好的,值得借鉴。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: