首页
学习
活动
专区
圈层
工具
发布

GDB查看xtrabackup备份流程

xtrabackup备份原理其实到处都能找到, 也有很多源码解读的, 但是都不太直观, 所以本文使用GDB查看下xtrabacup的备份流程(仅全备流程) 写在前面 gdb的基础使用可以看前面的文章:...info threads 查看线程信息, 带*的表示是当前的线程 thread n 切换到第n个线程 run 运行程序 环境准备 gdb OS自带的即可, 本文:7.6.1-120.el7 xtrabackup...downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.26/binary/tarball/percona-xtrabackup-2.4.26-Linux-x86...开始GDB 进入GDB 打断点 假设不熟悉xtrabackup的源码, 那我们直接断点main吧 gdb `which xtrabackup` break main 图片 运行程序 如果你下载了源码,...可以设置下路径, 方便gdb查看源码 set substitute-path /mnt/workspace/percona-xtrabackup-2.4-binary-tarball/label_exp

1.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GDB调试指南-变量查看

    前言 在启动调试以及设置断点之后,就到了我们非常关键的一步-查看变量。GDB调试最大的目的之一就是走查代码,查看运行结果是否符合预期。...准备工作 在查看变量之前,需要先启动调试并设置断点,该部分内容可参考《GDB调试指南-启动调试》和《GDB调试指南-断点设置》。后面的内容都基于在某个位置已经断住。...节点内容) (gdb) p *$.next (这里显示linkNode节点下一个节点的内容) 如果想要查看前面数组的内容,你可以将下标一个一个累加,还可以定义一个类似UNIX环境变量,例如: (gdb)..., 0x0} (gdb) 但是如果我们想用这种方式查看浮点数的二进制格式是怎样的是不行的,因为直接打印它首先会被转换成整型,因此最终会得到8: (gdb) p e $1 = 8.5 (gdb) p/t...e $2 = 1000 (gdb) 那么就需要另外一种查看方式了。

    3.2K10

    GDB调试指南-源码查看

    前言 我们在调试过程中难免要对照源码进行查看,如果已经开始了调试,而查看源码或者编辑源码却要另外打开一个窗口,那未免显得太麻烦。文本将会介绍如何在GDB调试模式下查看源码或对源码进行编辑。...) 来查看指定文件指定行,或者指定文件指定函数: (gdb) l test.c:printNum1 9 n--; 10 } 11 } 12 13...) 指定源码路径 在查看源码之前,首先要确保我们的程序能够关联到源码,一般来说,我们在自己的机器上加上-g参数编译完之后,使用gdb都能查看到源码,但是如果出现下面的情况呢?...(gdb) 设置完成后,可以通过show substitute-path来查看设置结果。这样它也能在正确的路径查找源码啦。...GDB-TUI 但是本文不作介绍,有兴趣的可以探索一下。 总结 本文介绍了GDB调试中的源码查看,源码编辑以及如何在GDB调试模式下执行shell命令。

    2.9K40

    【Linux】GDB调试

    GDB调试 GDB是GUN发布的一个强大的程序调试工具,也是Linux程序员不可或缺的一大利器。 安装GDB 注意安装你所需要的版本。...wget http://ftp.gnu.org/gnu/gdb/gdb-8.1.1.tar.gz tar -zxvf gdb-8.1.1.tar.gz cd gdb-8.1.1 ....gdb hello GDB和Shell一样支持命令补全。。 ---- 获取帮助命令 GDB将命令分为12个大类,使用命令 “help 子类别”,可以查看每个类下面的详细帮助。...break test() **例2:**设置第二行为断点 break 2 ---- 查看断点 info info break ---- 删除断点 delete delete + 断点编号 delete...set var count = 4 ---- 查看堆栈情况 bt 每次调用一个函数,函数的地址、参数、以及内部变量都会被压入栈中,运行时的堆栈信息对于程序员非常重要,使用"bt"命令可以看到当前运行时栈的情况

    5.1K50

    Linux之GDB调试

    @TOC Linux GDB 调试 一、初识 GDB GDB 是一个开源的、功能强大的调试工具,主要用于调试 C、C++ 等语言编写的程序。...它支持多种操作系统和架构,能够帮助开发者在程序运行过程中暂停执行、查看变量值、修改程序状态等,从而快速定位和修复问题。 二、启动 GDB 1....五、查看程序状态 1. 查看代码 在 GDB 中,可以通过以下命令查看当前代码位置附近的代码: list 默认情况下,它会显示当前代码位置附近的 10 行代码。...七、退出 GDB 完成调试后,可以通过以下命令退出 GDB: quit 或者: exit 八、GBD基本命令汇总 启动 GDB gdb :启动 GDB 并加载要调试的程序。...x/:查看内存内容,例如 x/10gx 0x1000 查看 10 个 8 字节的内容。 信号处理 handle stop:让 GDB 在接收到指定信号时暂停程序。

    23010

    初识Linux · 有关gdb

    前言: 当我们Linux学到了这里的时候,我们大概会有一种感觉是,从VS2022转战Linux,写代码对我们来说是一种重新构建读写代码的一个过程,从文本编辑器,到文本编译器,再到今天的调试器gdb,读写代码的每个部分在...Linux这里都是单独拉出来的,所以不免许多人会感受到困难,甚至于某些简单的代码在Linux这里都有点感觉晦涩难懂了,但是呢,难关总会过去的,咱们今天把gdb一看,我们就能再跨越代码的一大关卡 - 调试...首先进入调试很简单,就是gdb + 可执行文件。但是前提是已经用gcc -g生成了二进制的调试文件,此时才可以使用gdb进行调试。...打断点用到的命令是Breakpoint,简称b,对应的操作有b 文件名:函数名/行号,或者直接b 函数名/行号: 那么断点就打好了,在VS里面,断点很显眼的来了个大红点,但是Linux中打了断点我们应该如何查看呢...info local是查看局部栈帧变量的值,既然是栈帧,我们也可以看到是否有压栈: bt即可,同理,也是有自己的编号的。

    85910

    很经典的GDB调试命令,包括查看变量,查看内存

    你可以使用GDB的“@”操作符,“@”的左边是第一个内存的地址的值,“@”的右边则你你想查看内存的长度。...四、输出格式 一般来说,GDB会根据变量的类型输出变量的值。但你也可以自定义GDB的输出的格式。例如,你想输出一个整数的十六进制,或是二进制来查看这个整型变量的中的位的情况。...(gdb) p/x i $25 = 0x65 (gdb) p/t i $26 = 1100101 五、查看内存 你可以使用examine命令(简写是x)来查看内存地址中的值。...show print vtbl 查看虚函数显示格式的选项。 八、历史记录 当你用GDB的print查看程序运行时的数据时,你每一个print都会被GDB记录下来。...(包括浮点寄存器) info registers 查看所指定的寄存器的情况。 寄存器中放置了程序运行时的数据,比如程序当前运行的指令地址(ip),程序的当前堆栈地址(sp)等等。

    24.6K71

    如何优雅地查看 JS 错误堆栈?

    假设捕获了一个异常,上报的堆栈是这个: TypeError: Cannot read property 'module' of undefined at Object.exec (https:/...我们发布到 CDN 的脚本文件,普遍是经过 UglifyJS 压缩的,所以堆栈可读性相当的差。假如有下面的一个堆栈查看工具,又如何? [堆栈查看工具] 眼尖的同学,一眼就能找到问题。...[堆栈工具实现原理] 一步步来说的话: 拿到原始堆栈字符串,使用 error-stack-parser 解析为堆栈帧,每个堆栈帧包含三个最重要的字段: url - 源码的 URL 地址 line - 堆栈位置行号...col - 堆栈位置列号 对于 url,我们可以用于加载源码内容,得到 source source 使用 UglifyJs 反向美化成多行的代码 prettysource,并且同时生成 sourcemap...堆栈帧中的 line 和 col 通过 sourcemap 反查,得到美化后对应的 prettyline 和 prettycol 将 prettysource、prettyline、prettycol

    10.1K40

    linux工具---gdb调试~~进程

    1.gdb的简单介绍 1.1程序发布版本 程序的发布一般都是两个版本,debug模式和release模式,在linux里面的gcc/g++编译出来的这个结果默认就是release模式,要想使用这个gdb...进行调试,这个时候就必须在表一的时候加上-g选项,在debug的模式下面进行; 1.2前期准备 我们时候要进行安装gdb和环境的搭建,这个gdb好像是默认就有的,我们可以使用这个gdb --version...print x这个x就是我们自己定义的变量,查看对应的定义变量的数值; 1.4.5断点之间跳转 使用continue指令可以有第一个断点直接跳转到第二个断点 1.4.6查看调试程序的代码 l 0表示从第...里面的PCB tast_struct就是linux里面的PCB,是linux里面的一种数据类型; task_struct里面包含的属性有:标识符,状态,优先级,程序计数器,上下文数据,I/O状态记录,内存指针等所有的属性...; linux里面使用双向链表组织进程 2.4查看进程 查看进程的指令就是ls /proc,这个proc实际上就是一个linux下面的目录; 当前目录概念:我们创建一个文件,我们没有去指定这个文件的位置

    1.4K10

    Linux调试器——gdb

    gdb 什么是gdb debug与release gdb的基本操作 查看代码与断点 执行与调试 监视变量 什么是gdb 之前用的一直都是VS编译器进行调试,调试是一个非常重要的过程,在Linux中调试需要用到一个工具就是...在调试思路上VS编译器和gdb是一样的,但是调试过程的差距就很大了。 我们都知道Linux的操作都是通过命令完成的,调试也是一样的,靠的就是命令调试。...gdb的基本操作 查看代码与断点 以下指令都是在gdb环境下进行操作。 进入gdb模式发现连个代码都不知道在哪里,这怎么调试呢?...在VS编译器中,我们按F9是可以进行打断点的,再按一次可以取消: Linux进行打断点是:b 你要断点的行数 现在13行有一个断点,查看断点是info b: 断点也有自己的行,就是前面...断点跳跃:c 查看调用堆栈:bt 只想跑完当前函数,不受断点影响:finish 监视变量 进入函数之后要看到每个变量是什么:p 变量 这个操作可以让我们暂时看到变量的值

    4.5K00

    Linux下gdb调试方法

    GDB(GNU Debugger)是Linux环境下一款强大的命令行调试工具,由GNU项目提供,用于帮助开发者诊断和修复程序中的错误。...GDB提供了丰富的功能,如设置断点、单步执行代码、查看和修改变量值、查看调用堆栈、分析内存、执行程序直到特定条件满足等,这些都是软件开发和调试过程中不可或缺的工具。...(gdb) continue 查看调用堆栈:使用backtrace(简写为bt)查看当前的函数调用堆栈。 (gdb) backtrace 退出GDB:输入quit(简写为q)退出GDB。...) layout regs 显示源代码/反汇编和CPU寄存器窗口 (gdb) layout split 显示源代码和反汇编窗口 Ctrl + L 刷新窗口显示 Linux下常用的调试场景 在Linux...#这里会打印程序执行异常 (gdb)bt #backtrace 打印程序堆栈信息 ··· #此时会打印程序的调用堆栈,通过查看堆栈可以得知在调用那个函数时发生崩溃你 (gdb)q #退出调试程序

    1K10

    Linux中的gdb调试

    1、背景 在Linux命令行中,我们还不知道怎么调试我们编写的代码。...4、使用gdb调试的命令 gdb (需要调试的文件):gdb使用方法 //在gdb情况之下的命令 list:查看源文件(可简写为 l ) l n:l是list的缩写,n代表的是查看第几行 l (文件名)...那么在Linux中的gdb下,我们应该怎么运行呢? 首先确保的是,程序得先运行起来。所以在gdb下 r/run:运行程序 可是直接运行的话就直接结束了,所以还要再run之前先打一个断点。...gdb会记住最新一次输入的指令,所以逐过程或者逐语句的时候能够直接一次过后就按回车就行。 n(next):逐过程 s(step):逐语句 那么我们怎么在gdb的情况下查看变量的值呢?...当然了,能够查看变量的值,也能够查看变量的地址 p &(变量的名称) 还是不够,我们再vs里面查询数值之后就能够直接显示再下面,我们能不能再Linux的gdb也常显示再下方,不要一次一次的重新输入语句来查看变量值呢

    1.3K10
    领券