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

  • 相关阅读:
    Java第一次作业——Java语言基础
    P田日志<1>
    没解决的问题-git连接失败
    解决每次centos7执行java --version git --version等命令时都要重新source /etc/profile后才能执行,否则找不到命令-转载
    【Linux】VMware虚拟机中如何配置静态IP-转载
    Parallels Desktop 16 破解版 出现网络初始化失败和不能连接USB设备解决方法-转载
    Ubuntu安装git时出错,git-compat-util.h:280:25: fatal error: openssl/ssl.h: 没有那个文件或目录-转载
    遇到的问题29
    解决Idea 导入maven工程编译 Error running 'tms [clean]': Cannot run program "C:Program FilesJavajdk --转载
    jenkins执行shell命令时,提示“Command not found”处理方法-需要在jenkins调用shell脚本的最前面加一行脚本, #!/bin/bash -ilex-------转载
  • 原文地址:https://www.cnblogs.com/Shirlies/p/3278937.html
Copyright © 2020-2023  润新知