IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 嵌入式(十三)——gdb调试 -> 正文阅读

[C++知识库]嵌入式(十三)——gdb调试

前言

对于C语言新手建议用printf打印大法
对于gdb本章节只做简单介绍

gdb是GNU发布的一款强大的程序调试工具。
GDB主要完成下面三个方面的功能:

  1. 启动被调试程序
  2. 让被调试的程序在制定的位置停止
  3. 当程序被停住时,可以检查程序状态-变量值

学习GDB的三步走(可以自己去看十篇博客(GDB详解)):

  1. 学会使用GDB(基础命令)
  2. 掌握GDB的场景的使用技巧(多任务、网络程序、内存管理、core、汇编程序)
  3. 尝试gdb(实现一个调试器:应用程序)
    本章节只学习第一步,第三步的推荐网址:GDB 实现原理介绍

gdb调试

gcc -g gdb_demo.c -o gdb_demo(需要加上-g)
gdb gdb_demo (gdb + 可执行文件)

  • run:在调试器中运行程序
  • list:查看程序源码(只能一遍)(–tui)
  • break + 行号:设置断点
  • break + 行号 + if条件:设置断点
  • break + 函数名:设置断点(到调用该函数时停止)
  • info break:查看断点信息
  • delete + 断点编号(1、2):删除断点
  • enable/disable:使能断点
  • print + /x + 变量名:
  • quit:退出
  • next:单步执行,不进入子函数
  • step:单步执行,进入子函数
  • continue:跳过此断点,到下个断点停止
  • finish:继续执行,在函数内部时,执行到函数结束
  • call + 函数名:调用函数(call func(6))
  • print + 变量=值:设置变量的值
  • clear:清除所有断点
  • ptype + 变量:查看变量的类型

gdb gdb_demo --tui(图示)
gdb + 可执行文件 + --tui:启动图形化调试窗口
layout asm(显示汇编)
layout src (切换到源码)
layout split(同时显示汇编和源码)
可以直接简写成首字母(如n(next)、d(delete)、r(run))

段错误

看懂

#include <stdio.h>

int main(int argc,char *argv[])
{
	char *ptr = "hello world";
	ptr++;
	(*ptr) = 'E';
	printf("ptr = %s\n",ptr);
	return 0;
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:48:36  更:2022-01-11 23:49:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:29:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码