首先先熟悉下GDB调试的基本流程: 1. 在编译代码是添加 gcc添加–g选项 :gcc -g test.c -o test.out 2. 然后在bash环境中使用GDB 命令调用编译生成程序: :gdb ./test.out 进入调试页面 在这个界面下我们可以通过一些GDB的常用命令进行代码的细节调试,常用命令如下: 运行该程序:run(简写r) 查看代码:list(简...
gdb是Linux下学习C/C++最常用的debug工具。要使用这一强大工具,必须在编译时加上-g选项,生成的目标文件才可以用gdb进行调试。 如,先创建一个test.c文件,内容为: 1#include <stdio.h>23intmain(void){4inta[2];5a[0] =1;6a[1] =2;7return0;8} 使用编译语句,进行编译: gcc-g test.c -o test.out...
首先先熟悉下GDB调试的基本流程: 1. 在编译代码是添加gcc添加–g选项 :gcc -g test.c -o test.out 2. 然后在bash环境中使用GDB 命令调用编译生成程序: :gdb ./test.out 进入调试页面 在这个界面下我们可以通过一些GDB的常用命令进行代码的细节调试,常用命令如下: 运行该程序:run(简写r) 查看代码:list(简写...
1、编译 在编译时要加上-g选项,生成的可执行文件才能用gdb进行源码级调试。 -g选项的作用是在可执行文件中加入源代码的倍息,比如可执行文件中第几条机器指令对应源代码的第几行,但并不是把整个源文件嵌入到可执行文件中,所以在调试时必须保证gdb能找到源文件。 g也是分级别的,-g分4个等级: 首先用 gcc 对...
一、编译运行 1.1、程序带调试信息 使用额外的 '-g' 选项来编译程序: gcc -g eg.c -o eg 1.2 运行 gdb 装载程序 方法一:在 shell 中,可以使用 'gdb' 命令并指定程序名作为参数来运行 gdb gdb + 程序名 方法二:在 gdb 中,可以使用file 命令来装入要调试的程序 ...
为了更好的使用gdb的调试功能,在编译程序时需加入 -g 选项,由编译器生成某些用于调试的信息。GDB常用命令(此部分译自 Guide to Faster,Less Frustrating Debugging,细节有改动)开始/结束gdb使用gdb filename 启动gdb,其中 filename 应为可执行文件。> gdb a.out //使用gdb对a.out进行调试 ...
当使用-g选项进行编译和链接时,将生成符号表,符号表被包含在可执行文件中。 启动GDB GDB支持许多命令行与参数: gdb[options][executable_file[core_file|process_id]] 例如,命令gdb -silent可以直接启动调试器,不显示启动信息。 命令行参数 gdb一般用来调试三类程序:可执行文件、转储文件(core文件)、正在运行的进程...
1)在编译时使用了-g选项,那么得到的二进制文件便是包含调试信息的,那么此二进制文件是可调试的; 2) 编译时没使用-g选项增加调试信息,但有与此二进制文件配套的debuginfo包,那么可以将此debuginfo包与gdb一起运行,此时相当于把调试信息打入二进制文件中。
进行编译优化,可以指定使用不同的优化级别,从O2到O6,每个不同的级别使用的优化设置不同。 相关的选项还有定义生成的指令码类型的参数,如-m486生成486指令,缺省的gcc版本(2.7.2)不支持Pentium代码。 -g 加入调试代码,可以在完成后使用strip命令删除用于调试的信息 ...