zoukankan      html  css  js  c++  java
  • Vim与GCC和gdb完美组合

    一、vim

    vim修改一下配置文件后,如果你稍微会点vim的命令使用,那可比一般的编辑器好用啊,如果一点不会vim的命令使用,就跟一般编辑器一样使用。

    打开etc/vim/vimrc文件

     

    这里的引号是注释的意思。

    去掉引号就可以了,我说明一下某些set的意思,其他的可以自己网上搜搜是啥意思,其实后面英文有注释的。如果自己的配置文件里面没有,可以手动添加。

    set mouse=a 在终端中可以使用鼠标

    set ignorecase 查找时忽略大小写

    set nu 自动添加行号

    set ai 自动缩进

    set smartindent 智能对齐

    set encoding=cp936 设置当前字符编码为windows简体中文

    set tabstop=4 设置TAB键为4个空格

    按下面我修改的一些就可以很利索的使用vim:

    编辑.c文件的效果是:

    二、GCC

    gcc方面的资料网上应该一大堆http://blog.csdn.net/yyaong_520/article/details/6766820

    一般情况下,我只用一个

    -o的命令:

    还有一个-g的命令:指示编译程序在目标代码中加入供调试程序gdb使用的附加信息。在使用gdb调试的时候,最好加上这个选项。

    三、gdb

    我习惯以一个可执行程序作为gdb的参数启动gdb

    gdb first(first问gcc的输出结果)

    (注意,gcc加了-g选项)

    下面说几个调试时常用到的几个选项。

    list 显示源文件:

                            list                                   没有参数,显示当前行之后或周围的10多行

                            list start,end                    显示从行号start到end之间的代码行。

    print 查看运行时的数据

                            print i                                显示当前变量i的值

                            print &i                              显示变量i的存放地址

                            print array@5                   显示从array(数组名)开始的5个值

                            print array[2]@3               显示从array第二个元素开始的3个数组元素的值

                            whatis i                             显示变量i的数据类型

    设置断点 break

                            break linenum                   在当前文件指定行linenum处设置断点

                            break function                   在当前文件函数function的入口处设置断点

    显示断点 info

                            info breakpoints/break/watchpoints  [num]

    单步跟踪

                            step [N]                              如果遇到函数调用,并且该函数编译时有调试信息,则会进入该函数内执行。

                            next [N]                              遇到函数调用时,执行整个函数。

    连续执行

                            continue                             从当前行开始,连续执行到下一个断点处,或者到达该程序结束。命令中可以给出一个数字N,忽略其后N-1次断点

    运行程序 run

    另外几个:clear(清除所有已定义的断点),delete(删除所有断点,后面可给出断点号码,多个断点用空格分开),disable(停用指定断点,停用多个则用空格分开),enable(激活被停用的断点,各断点号码用空格分开)

    我的博客中有个“gdb的简单使用

  • 相关阅读:
    10 种保护 Spring Boot 应用的绝佳方法
    Redis 如何分析慢查询操作?
    Spring Boot 主类及目录结构介绍
    Redis 再牛逼,也得设置密码!!
    Spring Data Redis 详解及实战一文搞定
    Spring Boot Redis Cluster 实战干货
    超详细的 Redis Cluster 官方集群搭建指南
    Redis Linux 安装运行实战全记录
    hdu 4790 Just Random (思路+分类计算+数学)
    poj 1328 Radar Installation(贪心)
  • 原文地址:https://www.cnblogs.com/Shirlies/p/3278937.html
Copyright © 2011-2022 走看看