• 使用gcc编译gdb调试


    gcc

    在linux系统中,默认是没有安装gcc编译器的,可以通过命令

    rpm -q | grep gcc

     来查看。安装命令为:

    yum -y install gcc

    安装后,编写一个.c结尾的文件。

    gcc test.c

     就会默认输出一个a.out的输出文件,这个输出文件就是可执行文件。

    如果加上-o选项,则可以自定目标文件。

    gcc -o test test.c  

    test就是它的可执行文件。

    一般都默认加上-Wall 选项,可以自动提示一些出错警告的信息。

    gcc -Wall -o test test.c

    gbd

    以上就是常用的gcc相关知识了。下面就是它的调试,调试通常使用gdb。在编译的时候需要加上选项-ggdb3选项

    gcc -ggdb3 -Wall -o test test.c

    这样在没有出错的情况下

    gdb test

    就进入调试窗口

    输入下面命令可以进行如下的操作:

    break 设置断点

    break 21 在第21行设置断点

    break main 在main函数处设置断点

    break test 在函数test处设置断点

    step /  s  下一步,直接执行下一条程序

    continue / cont 下一段,如果遇到函数,不会进入函数,逐过程,有点类似VS里面的F10

    run 运行

    finish 结束调试

    tbreak设置临时断点

    print / p 显示某个变量的值

    p *array@len 输出数组

    p i 输出i的值

    enable 恢复失效的断点

    disable 使断点失效

    clear 清除断点

    backtrace / bt 查看堆栈信息

    相关的输出格式

    x 十六进制格式
    d 十进制格式
    u 十六进制无符号
    o 八进制显示
    t 二进制显示
    a 十六进制显示
    c 字符格式显示
    f 浮点数格式显示
  • 相关阅读:
    UART中RTS、CTS
    Verdi:内存不足
    SV学习之interface
    perl学习之:@_ $_
    perl学习之:package and module
    代码变成可执行程序期间,编译器做了那些事?
    perl学习之:use & require
    perl学习之:use and require
    8位二进制补码表示整数的最小值是什么,最大值是什么
    深入理解计算机系统
  • 原文地址:https://www.cnblogs.com/xing901022/p/3698097.html
Copyright © 2020-2023  润新知