Linux gdb调试底层原理

前言

linux下gdb调试程序操作过程参考本人文章:gdb调试操作; 这里不再叙述;

本文主要内容是介绍GDB本地调试的底层调试原理,我们来看一下GDB是通过什么机制来控制被调试程序的执行顺序;

总结部分是断点调试的底层原理,可以直接跳转过去先看看大概框架!

本地调试

本地调试:调试程序和被调试程序运行在同一台电脑中

图片

远程调试

远程调试:调试程序运行在一台电脑中,被调试程序运行在另一台电脑中。

图片

关于可视化调试程序并不是重点,它只是一个用来封装GDB的外壳而已,我们通过它和gdb调试程序交互。

我们既可以用黑乎乎的终端窗口来手动输入调试命令;也可以选择集成开发环境(IDE),这个IDE中已经嵌入了器调试,


GDB调试指令

随便贴几个指令,等会可以介绍到;

图片

每一个调试指令都有很多的命令选项,例如断点相关的就包括:设置断点、删除断点、条件断点、临时停用启用等等。这篇文章的重点是理解gdb底层的调试机制,所以应用层的这些指令的使用方法就不再列出了,网络上的资源很多。


GDB与被调试程序之间的关系

为了方便描述,先写一个最最简单的C程序:

#include <stdio.h>

int main(int argc, char *argv[])
{
   
    int a = 1;
    int b = 2;
    int c = a + b;
    printf(<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是大帅哥121

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值