gcc和gdb常用命令 gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。 -E 只运行 C 预编译器。 -g ...
run/r:运行程序 n/next:下一条指令(会越过函数) s/step:下一条指令(会进入函数) p/print: p i 查看变量的值。continue:继续执行断点后续指令。 finish:结束当前函数调用。 quit:退出 gdb 当前调试。 二、案例说明 使用gdb 之前,要求对文件进行编译时增加 -g 参数,加了这个参数过后生成的编译文件会大一些,...
(gdb) fin 跳到下一条指令 jump:跳到指定的代码行。 (gdb) jump 42 设置断点 设置断点 break:在指定位置设置断点,简写为b。 (gdb)breakmain (gdb) b main (gdb)breakfile.c:10 (gdb) b file.c:10 删除断点 delete:删除断点,简写为d。 (gdb) delete 1 (gdb) d 1 禁用断点 disable:禁用断点,简写...
gcc --help //获取gcc帮助列表 gcc -E my_code.c //对源文件 my_code.c 进行预处理 以下是一些常用的命令与其功能介绍。 gcc基础命令选项 四、GDB基础介绍 GDB 全称“GNU symbolic debugger”,和 GCC 一样是 GNU 的自由软件之一,用于对程序进行调试。GDB 可调试的程序与 GCC 可编译的程序相对应。GDB 的...
简介:【Linux】编译器gcc g++和调试器gdb的使用(下) 2.4gdb的常用指令 list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。 list/l 函数名:列出某个函数的源代码。 r或run:运行程序。 n或 next:单条执行。 s或step:进入函数调用 ...
常用指令 进入调试模式 如果忘了指定调试文件可以使用file指令指定 使用quit指令退出调试模式 可简写为q 使用start指令开始调试 停在第一行代码处 使用step指令进行单步执行 可简写为s 使用next执行进行单步执行 可简写为n 汇编级别单步执行(上面n和s为c语言级别单步指令) ...
:gcc -g test.c -o test.out 2. 然后在bash环境中使用GDB 命令调用编译生成程序: :gdb ./test.out 进入调试页面 在这个界面下我们可以通过一些GDB的常用命令进行代码的细节调试,常用命令如下: 运行该程序:run(简写r) 查看代码:list(简写l) 打断点:break(简写b)后跟行号(或者函数名、文件名:行号) ...
37、1;int* a;*a=b;使用gcc O3 g a.c o a进行编译,运行后会再次Core掉,使用gdb查看栈信息,请见下图: 可见BUG出在第7行,也就是*a=b这句,这时我们尝试打印b的值,却发现符号表中找不到b的信息。为何?原因在于gcc使用了-O3参数,此参数可以对程序进行优化,一个负面效应是优化过程中会舍弃部分局部变量,...
gdb常用操作 2014-12-12日学习笔记 gdb调试 一、启动dgb 1、源代码编译 操作:GCC要带-g选项,目的是让编译器将符号表(对应于程序的变量和代码行的内存地址列表)保存在生成的可执行文件中。这样才能在调试会话过程中引用源代码中的变量名和行号。 举例:gcc –g –o main main.c...