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

linux-C 开发及调试工具 (vim-gcc-gdb-coredump)总结

2016-11-01 21:53 537 查看
   本文主要总结Linux-C平台下的开发及调试工具,文中命令用蓝色字体标示。

目录:

1、vi/vim使用笔记

2、gcc使用笔记

3、gdb使用笔记

4、Coredump使用笔记

第1节:vi/vim的使用

  1.1 创建文件 touch  file.c
,打开文件vimfile.c

  1.2 vi的三种工作模式:

      按ESC按键进入命令行模式,可以使用VI定义的快捷键

      按下I键进入插入模式,进行文本输入和编辑

     命令行模式下,输入:进入底行模式

   1.3 命令行模式 ESC

      复制N行并粘帖行操作 :光标移动到行号  copy=> [ n]yy     paste=> p   n是行的数目

      删除N行,光标移动到开始行,delete ->  
dd

      取消前一个动作u 

      查找光标之后的字符串   /string  //查找string 字符串

      移动到文件末尾 G

   1.4 底行模式 :

       保存w

       另存为 w filename 

       退出q 

       保存退出wq 

       不保存强行退出q!

       设置行号(set nunmber)  set nu 取消set nonu 

第2节:gcc的使用

              gcc [options] filenames

     2.1 gcc 编译过程

              gcc file.c  默认输出a.out 运行程序./a.out    

              gcc file.c -o file:

             
分解过程:                              

              file.c 预处理    gcc -E  file.c -o file.i

              file.i 编译         gcc -S file.i -o file.s

              file.s 汇编        gcc -c file.s -o file.o

              file.o 链接        gcc file.o -o file

              file   执行          
./file

       2.2 文件类型

       .c C 语言源代码文件‘

       .h 头文件

      .a  目标文件构成的库文件

      .C .cc .cxx C++源代码文件

      .o 编译后的目标文件

      .s 汇编文件

      2.3 编译选项

      -o filename
指定输出文件名字

      -O -O2  对程序进行优化,对整个代码进行优化处理可提高执行效率(如去处没有用到的定义的变量)

       gcc -O file.c -o file

       time file  输出运行时间

      -c 不链接 只生成.o后缀的中间文件。

      -g 产生调试信息,调试用

      添加头文件路径(#include "my.h")    -I path

      gcc -I /path file.c -o file

      -Wall 生成所有警告信息

      -w   不生成警告信息

      -Dmarco 宏编译 #ifdef macro

      gcc -Dmacro file.c -o file

第3节 gdb 使用

     3.1 使用初步

        生成信息 gcc -g file.c -o file

        启动调试 gdb file

      3.2 设置端点

         break 函数名   break 行号  break 文件名:行号

      3.3 相关命令 

        l list 查看程序

        info break 查看所有断电

        delete 断点编号 

        run 运行程序

        print 变量   查看变量的值

        next  n 下一语句 不进入函数

        step   下一句进入函数

        continue  c 继续运行直达下一个断点

        set value=xx  设置变量值

        退出 quit q

第4节 Core dump 使用

      启动Core dump后,在程序发生错误会将发生错误时的内存状态存储到core文件中,文件名为core_pid.core形式。

                   segment fault:数组越界、访问空指针、栈溢出、修改只读内存等

       4.1 启动coredump 及基本用法

         打开  ulimit -c unlimited

         启动  ulimit -c 0

         用法  gdb  程序名 core文件名

         例如:   gcc -g file.c -o file

                      ./file

                       gdb ./file    core.12551

        4.2 简单设置

         设置core文件大小:  ulimit -c (大小 kb)

         显示大小               ulimit -c

          输入文件名

          sudo passwd   修改root密码

          su root            切换root

          echo '%e.core.%p'>proc/sys/kernel/core_pattern   文件名+core+PID格式

           echo '%e.core.%t'>proc/sys/kernel/core_pattern   文件名+core+时间

        

    

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: