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的简单使用

  • 相关阅读:
    WPF入门教程系列十二——依赖属性(二)
    WPF入门教程系列十一——依赖属性(一)
    WPF入门教程系列十——布局之Border与ViewBox(五)
    WPF入门教程系列九——布局之DockPanel与ViewBox(四)
    WPF入门教程系列八——布局之Grid与UniformGrid(三)
    WPF入门教程系列七——布局之WrapPanel与StackPanel(二)
    WPF入门教程系列六——布局介绍与Canvas(一)
    WPF入门教程系列五——Window 介绍
    WPF入门教程系列四——Dispatcher介绍
    WPF入门教程系列三——Application介绍(续)
  • 原文地址:https://www.cnblogs.com/Shirlies/p/3278937.html
Copyright © 2011-2022 走看看