首页
›
编程基础与工程化
›
004-GDB
›
《GDB原理解析:库链接与跨平台编译》
VIP20
本课程属于:004-GDB
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
GDB原理解析:库链接与跨平台编译
📚 共计 30 章节
01
GDB前世今生
GDB的诞生背景、发展历程、在调试工具链中的地位。
历史
调试器
02
GDB核心架构
GDB的前端与后端分离设计、MI接口、目标适配层。
架构
MI
03
符号表与DWARF
ELF文件格式解析、DWARF调试信息格式、符号表加载机制。
ELF
DWARF
04
断点原理
软件断点(int3)、硬件断点(DR寄存器)、数据断点与观察点。
断点
int3
05
单步执行
指令级单步与源码级单步、ptrace系统调用、单步陷阱。
ptrace
单步
06
栈回溯
帧指针(FP)与展开表、.eh_frame与.eh_frame_hdr、CFI指令。
栈
CFI
07
表达式求值
GDB内部表达式树、类型系统、值历史与便利变量。
表达式
类型
08
远程调试
GDB远程串行协议、RSP包格式、qSupported与vCont。
RSP
远程
09
GDB服务器
gdbserver实现原理、多进程调试、扩展协议。
gdbserver
多进程
10
动态链接器
ld-linux.so工作原理、_dl_debug_state、DT_DEBUG。
ld-linux
动态链接
11
共享库调试
断点在共享库中的延迟绑定、so_list结构体、共享库事件。
共享库
so_list
12
静态链接与动态链接
链接过程对比、地址绑定、GOT与PLT。
GOT
PLT
13
位置无关代码(PIC)
PIC原理、GOT基址寄存器、全局偏移表。
PIC
GOT
14
延迟绑定
PLT桩代码、GOT重写、绑定时机。
PLT
延迟绑定
15
动态符号解析
dlsym与dlopen、符号优先级、版本符号。
dlsym
dlopen
16
交叉编译工具链
binutils、gcc交叉编译器、sysroot概念。
交叉编译
sysroot
17
目标三元组
架构-厂商-系统、常见三元组、配置与检测。
三元组
target
18
多架构调试
ARM vs x86_64、寄存器差异、指令集差异。
ARM
x86_64
19
QEMU用户态模拟
QEMU-user原理、系统调用翻译、调试接口。
QEMU
用户态
20
QEMU系统模拟
QEMU-system、GDB连接QEMU、外设调试。
QEMU-system
外设
21
Core Dump分析
core文件生成、ELF note段、prstatus结构。
core dump
ELF note
22
多线程调试
线程库(NPTL)、libpthread调试支持、线程事件。
NPTL
线程
23
条件断点与断言
条件表达式、断言宏、断点命中计数。
条件断点
断言
24
反向调试
记录与重放、进程快照、时间旅行调试。
反向调试
快照
25
Python扩展
GDB Python API、漂亮打印、自定义命令。
Python
API
26
Tracepoint
静态追踪、动态追踪、收集缓冲区。
Tracepoint
追踪
27
性能分析
gprof与perf、采样与插桩、火焰图生成。
perf
火焰图
28
内存调试
AddressSanitizer、Valgrind、内存泄漏检测。
ASan
Valgrind
29
嵌入式调试
JTAG与SWD、OpenOCD、裸机调试。
JTAG
OpenOCD
30
实战案例
从崩溃到修复、多线程死锁、内存越界调试全流程。
实战
死锁
所属VIP或分类
同VIP:GDB原理解析:从断点到堆栈回溯
同VIP:GDB原理解析:深入断点与性能优化
同VIP:GDB实战:Qt信号槽与断点排查技巧