c gcc gdb 调试基础

-Wall 显示所有编译问题

gcc -Wall main.c

indent 缩进工具

indent -kr -i4 main.c

debug 程序

gcc -g main.c
gdb a.out

list : 打印源码, 简写成l
可以 打印一个函数 : l main
quit : 退出
start : 启动调试, 第一次会停在 main入口
next (n) : 单步, 下一条
step (s) : step in, 进入函数体
bt : 打印栈帧
i locals : 打印此函数内的本地变量信息
f 0/1/2...: 切换栈帧, 切换后, 再用 i locals, 就会显示那个方法栈内的变量信息
p 变量名: 打印变量值
finish : step out , 一直运行到跳出当前方法为止
set var 变量名=值 : 修改内存中变量值


gdb

display 变量名: 每next 一行, 都打印变量值, 用于跟踪显示变量
undisplay 变量名: 取消显示变量值
b 行数: 下断点
run : 跑越来, 直到断点, 或 结束
i b : 显示所有断点信息, 前面有代号
del 代号: 删除相应号码的断点
b 9 if sum == 0 : 条件断点

gdb断点
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原...
    Manfred_Zone阅读 16,811评论 0赞 26
  • 程序开发离不开调试,可以断点调试,也可以打log调试,linux下断点调试c,c++程序用gdb。 断点调试虽然很...
    程序大飞阅读 2,487评论 1赞 2
  • 概述 GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。...
    咕咕鷄阅读 21,179评论 0赞 8
  • GCC编译器 GCC是一个交叉平台的编译器,我想大家并不会觉得陌生。C/C++开发的时候很多时候都会用到GCC来进...
    故事狗阅读 9,657评论 0赞 25
  • 调试前准备 获取进程的内核转储(core dump) why:最大好处是,其保存了问题发生时的状态。记录进程当前状...
    Gitlusen阅读 1,096评论 0赞 2

友情链接更多精彩内容