首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GDB查看xtrabackup备份流程

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

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

    GDB调试指南-变量查看

    前言 在启动调试以及设置断点之后,就到了我们非常关键的一步-查看变量。GDB调试最大的目的之一就是走查代码,查看运行结果是否符合预期。...准备工作 在查看变量之前,需要先启动调试并设置断点,该部分内容可参考《GDB调试指南-启动调试》和《GDB调试指南-断点设置》。后面的内容都基于在某个位置已经断住。...或者@后面跟上变量值: (gdb) p *d@a $2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} (gdb) 由于a的值为10,并且是作为整型指针数据长度,因此后面可以直接跟着...按照特定格式打印变量 对于简单的数据,print默认的打印方式已经足够了,它会根据变量类型的格式打印出来,但是有时候这还不够,我们需要更多的格式控制。...e $2 = 1000 (gdb) 那么就需要另外一种查看方式了。

    2.5K10

    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.1K40

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

    在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。...关于编译器的参数,还请查看编译器的使用说明文档。 三、数组 有时候,你需要查看一段连续的内存空间的值。比如数组的一段,或是动态分配的数据的大小。...show print static-members 查看静态数据成员选项设置。 set print vtbl 当此选项打开时,GDB将用比较规整的格式来显示虚函数表时。其默认是关闭的。...show print vtbl 查看虚函数显示格式的选项。 八、历史记录 当你用GDB的print查看程序运行时的数据时,你每一个print都会被GDB记录下来。...九、GDB环境变量 你可以在GDB的调试环境中定义自己的变量,用来保存一些调试程序中的运行数据。要定义一个GDB的变量很简单只需。使用GDB的set命令。GDB的环境变量和UNIX一样,也是以$起头。

    21.1K71

    C语言: ---gdb查看内存和寄存器内容

    gdb没有CodeWarrior强大,但是也提供了查看寄存器的命令: (gdb) info register r1 r1 0xbffffb40 3221224256 (gdb...spefscr 0x3c 60 orig_r3 0x1 1 trap 0x700 1792 你可以使用examine命令(简写是x)来查看内存地址中的值...输出格式 一般来说,GDB会根据变量的类型输出变量的值。但你也可以自定义GDB的输出的格式。例如,你想输出一个整数的十六进制,或是二进制来查看这个整型变量 的中的位的情况。...要做到这样,你可以使用GDB数据显示格式: x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十六进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。...(gdb) x /1fw 0x100109d8 0x100109d8 : 39.2314987 (gdb) p x $1 = 39.2314987 (gdb) p z $2 = 39.231499999999997

    3.2K40

    学习GDB

    (如:set args 10 20 30 40 50 )      show args 命令可以查看设置好的运行参数。      ...continue 继续运行程序,可简写为c 9 查看运行时数据      print 打印变量、字符串、表达式等的值,可简写为p      p count 打印count的值 10 自动显示      ...相关的GDB命令是display。      display 变量名      info display -- 查看display设置的自动显示的信息。      ...查看修改变量的值      (gdb) ptype width -- 查看变量width的类型           type = double      (gdb) p width  -- 打印变量width...当程序停下来以后,      GDB会报告程序停在了那个文件的第几行上。你可以用list命令来打印程序的源代码。默认打印10行,还是来看一看查看源代码的GDB命令吧。

    1.5K80

    GDB 调试

    本文链接:https://blog.csdn.net/weixin_40313634/article/details/88619906 实验楼值GDB常用命令实战课程学习记录 1....安装工具: sudo apt-get install gdb 2. 编译可调式程序: gcc bugging.c -o bugging -g -m32 -o: 生成的可执行文件的名字。...-g: 生成的程序允许gdb 调试。 -m32:生成32位的程序。默认,程序位数和OS位数相同。 编译32位程序时报错:fatal error: sys/cdefs.h: 没有那个文件或目录。...调试: 开始调试:gdb bugging 结束调试:quit 断点在循环中时: enable once Num // 断点hit 一次后,失效。...打印当前函数的所有局部变量的值: info locals 命令 简写 说明 list l 查看附近源码 next n 执行下一步 step s 一次执行一行,遇到函数会进入 break b 设置断点

    1.6K30

    使用 GDB 查看Mysql5.7.38的COMMIT过程(两阶段提交)

    还是gdb方便点, 为了方便低版本gdb的环境, 这里就不升级gdb了.高版本的是彩色的, 方便看, 有条件的可以安装下:https://www.sourceware.org/gdb/环境:gdb:7.6.1...可以设置下 set listsize 30fi finish 结束当前正在执行的frame(就是bt最上面那个) bt backtrace 查看函数调用...(backtrace查看) set set 设置变量的值 attach attach...开始查看提交过程我们看到自动切换到了新连接的线程,并触发了breakpoint 1图片此时, 代码就停在trans_commit处, 可以使用bt查看frame信息, 也可以step/next运行代码...commit也可以的.图片进去后是MYSQL_BIN_LOG (两阶段提交的CN角色)注:没开启binlog的时候, CN是tc_log_mmap/tc_log_dummy(都是继承自tc_log)图片查看源码

    1.1K10

    【linux】gdb

    01.gdb使用 程序的发布方式有两种,debug模式和release模式 Linux gcc/g++出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上...通过这个命令,你可以查看包含在 ELF 文件中的不同节(section),这些节可能包括代码段、数据段、符号表、字符串表等 #include int AddToTarget(int a...\n"); return 0; } gdb binFile 退出: ctrl + d 或 quit 调试命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。...break(b) 行号:在某一行设置断点 break 函数名:在某个函数开头设置断点 info break ( i b ):查看断点信息。...info(i) locals:查看当前栈帧局部变量的值 quit:退出gdb

    4610

    GDB调试

    方式五:对运行中的a.out,可以先按方式二启动,然后在gdb中中心“attach 19475”调试运行中的a.out 进入到GDB后,可以通过help命令来获取帮助,GDB对命令做了分类,要获取详细说明可以查看...GDB提供了相关命令查看和设置变量。...的print命令查看状态时,GDB会以$1,$2这样的编号标记之前的表达式,这些编号称为值历史。...问题二:段错误 写C、C++代码最常见的问题是对内存的不当处理,最常见的莫过于段错误,典型的如访问不存在的内存地址、访问了不允许访问的地址(试图往只读的位置写数据)。常见产生的原因:1....地址保护:在mmap做内存映射时,如果尝试往只读的映射区写入数据会导致段错误。 问题三:总线错误 在开发中出发总线错误的两个常见场景:1.

    2.2K10

    GDB调试技巧】提高gdb的调试效率

    GDB启动时,可以加上一些GDB的启动开关,详细的开关可以用gdb的help查看gdb技巧 1. gdb小技巧汇总 gdb技巧挺多的,比如说直接回车是继续执行上一次的代码 巧用tab补全 1....比如输入b连续按下两次tab,可以查看gdb的所有b开头的gdb指令 2....TUI 模式:GDB 的界面会分为几个窗格,包括源代码窗格、汇编窗格、寄存器窗格等。 按下ctrl x a会显示下图的窗口(可以上下滑动查看原代码),其中箭头表示【当前准备执行但还未执行的开始位置】。...查看断点信息 info b info b 与 i b等价 前面我们知道进入函数单步执行用到的gdb指令是 s 退出函数用到的gdb指令是 finish finish finish 不与 f等价 finish...功能是退出函数 f功能是查看当前执行的位置

    16810

    GDB调试学习

    gdb调试 能进行GDB调试,一般在编译过程中,需使用-g参数。如果不使用-g参数,则在gdb调试过程中,将不能得到程序的函数名、变量名等信息,而只能看见运行时内存地址。...主要用于汇编调试 b * // 停在代码的某个地址处 d // 删除断点 info b // 查看断点 r:运行被调试的程序。...display …:设置程序中断后想显示的数据及其格式。...q:退出gdb调试环境。 help [命令名称]:gdb帮助命令,提供对GDB各种命令的解释说明。...如果指定了“命令名称”参数,则显示该命令的详细说明;若果没有指定参数,则分类显示所有GDB命令,共用户进一步浏览和查询。 cd dir:运行GDB,使用dir作为gdb的工作目录。

    1.4K20

    gdb 基础命令

    (gdb) n p Print 的缩写, 打印变量的值 (gdb) p i bt Backtrace 的缩写,查看堆栈信息 (gdb) bt q Quit 的缩写,退出gdb 调试环境...(gdb) q help 可以查看各个命令的用法 (gdb) help r 举例 先看一个简单的程序 #include int sum(int n) { int...文件,然后用 gcc 编译: gcc gdb_sample.c -g -o gdb_sample 上面的命令,用参数 -g将源代码信息编译到可执行文件中,如果不指定,将无法在 gdb 里面查看代码,可以看看使用...(gdb) 上面表示可执行文件已经加载成功,(gdb) 是gdb内部命令引导符,等待用户输入命令 下面使用l 命令来查看源码,可以指定行号,回车可以继续往下查看: (gdb) l 1 1...int sum=0, i; (gdb) bt // 查看堆栈信息 #0 sum (n=2) at

    1.1K220

    gdb调式程序

    基本操作命令: 这里只介绍常用命令的简单用法,如需读者想更加深入的了解,还请读者参照gdb手册。也可以使用--help查看。...q print 输出当前指定变量的值 p break 在代码里设置断点 b info break 查看设置断点的信息 i b delete 删除设置的断点 d watch 监视一个变量的值,一旦值有变化...Reading symbols from /opt/c++/test...done. 3)list命令 也可以过回车查看源代码 (gdb) list 1 #include 2 #include...printf("hello %d\n", i); (gdb) 进入到了函数 prints 在函数中有几种查看状态的办法,backtrace命令(简写为bt)可以查看函数调用的栈帧: (gdb)...6)在可以用info命令(简写为i)查看局部变量 i locals 如果想查看main函数当前局部变量的值也可以做到,先用frame命令(简写为f)选择1号栈帧然后再查看局部变量: (gdb) f

    51920
    领券