(3.2)mysql基础深入——mysql源码阅读工具安装与应用

时间:2022-09-03 11:32:25

(3.2)mysql基础深入——mysql源码阅读工具安装与应用

关键字:mysql源码阅读工具

工具列举:一般多用【1】【2】【3】吧

【1】source insight  【2】写字板/记事本 UE  【3】gdb(linux系统自带工具,调试代码(线程))

【4】eclipse  【5】vs2012

1、source insight(基本使用教程

.安装source insightt4.;

.使用下载好的sourceinsight4.exe替换安装在program file(x86)目录下的sourceinsight4.exe;

.启动sourceinsight,导入下载好的后缀名为.lic的license文件

2、notepad++、写字板/记事本 UE

  直接下载好,打开即可

3、GDB for mysql:

  【1】 识别故障

  【2】场景重现

  【3】创建测试案例确认BUG

  【4】定位缺陷根源

  【5】测试和创建补丁修复BUG

3.1【安装GDB】

  【1】安装OS过程中选择开发包

  【2】yum install cmake make gcc gcc-c++ ncurses-devel bison gdb

  如果编译安装mysql,可以加参数: -DWITH_DEBUG=1   可以更好的方便调试(生产勿用)

3.2【使用GDB】

  【1】启动:gdb --args /mysql/app/mysql/bin/mysqld --defaults-file=/mysql/data/3306/my.cnf --basedir=/mysql/app/mysql --datadir=/mysql/data/3306 --skip-networking

  (前提是mysql要先开启)

  【2】找到mysql进程号,调试进程

    attach 进程号(mysqld 进程号,可以使用ps -ef|grep mysql 来查看)

  【3】设置断点

    b 源码中的方法名

  【4】操作

    n为next下一步,c为continue,bt 从下往上看

    线程:

    

vi gdb_mysql_thread.sh
gdb -ex "set pagination 0" -ex "thread apply all bt" --batch --pid $ ./gdb_mysql_thread.sh 进程号 > .out

(3.2)mysql基础深入——mysql源码阅读工具安装与应用的更多相关文章

  1. 【安卓本卓】Android系统源码篇之(一)源码获取、源码目录结构及源码阅读工具简介

    前言        古人常说,“熟读唐诗三百首,不会作诗也会吟”,说明了大量阅读诗歌名篇对学习作诗有非常大的帮助.做开发也一样,Android源码是全世界最优秀的Android工程师编写的代码,也是A ...

  2. ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是l ...

  3. [Erlang 0119] Erlang OTP 源码阅读指引

      上周Erlang讨论群里面提到lists的++实现,争论大多基于猜测,其实打开代码看一下就都明了.贴出代码截图后有同学问这代码是哪里找的?   "代码去哪里找?",关于Erla ...

  4. Android源码阅读 – Zygote

    @Dlive 本文档: 使用的Android源码版本为:Android-4.4.3_r1 kitkat (源码下载: http://source.android.com/source/index.ht ...

  5. idea构建spring源码阅读环境

    注:由于文章不是一次性完成,下文中的test1目录和test目录应为同一个目录. (一)安装git和Gradle Spring项目托管在github之上,基于Gradle来构建项目.所以要想搭建Spr ...

  6. 内核源码阅读vim+cscope+ctags+taglist

    杜斌博客:http://blog.db89.org/kernel-source-read-vim-cscope-ctags-taglist/ 武特博客:http://edsionte.com/tech ...

  7. Sping学习笔记(一)----Spring源码阅读环境的搭建

    idea搭建spring源码阅读环境 安装gradle Github下载Spring源码 新建学习spring源码的项目 idea搭建spring源码阅读环境 安装gradle 在官网中下载gradl ...

  8. (3.1)mysql基础深入——mysql二进制与源码目录结构介绍

    (3.1)mysql基础深入——mysql二进制与源码目录结构介绍 关键字:二进制目录结构,源码目录结构(编译安装目录结构) 1.二进制安装程序目录结构 [1] BIN -- mysql的可执行文件( ...

  9. Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表

    Qt5.5.0使用mysql编写小软件源码讲解---顾客信息登记表 一个个人觉得比较简单小巧的软件. 下面就如何编写如何发布打包来介绍一下吧! 先下载mysql的库文件链接:http://files. ...

随机推荐

  1. vue-cli webpack 引入jquery

    首先在package.json里的dependencies加入"jquery" : "^2.2.3",然后install 在webpack.base.conf. ...

  2. 有关npm rum的3个简洁技巧

    [编者按]本文作者为来自 MongoDB 的 NodeJS 工程师 Valeri Karpov.Valeri 专注于维护常见的 Mongoose ODM,是<Professional Angul ...

  3. java public protect default private

    (1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类.接口.异常等.它往往用于对外的情况,也就是对象或类对外的一种接口的形式. (2)对于protected修 ...

  4. LINUX centos 7&period;2&sol;7&period;3 搭建LANP环境

    首先我们先查看下centos的版本信息 #适用于所有的linux lsb_release -a #或者 cat /etc/redhat-release #又或者 rpm -q centos-relea ...

  5. python---进程与线程

    进程和线程 什么是线程(thread)什么是进程 线程:操作系统能够进行运算调度的最小单位.它被包含在进程中,是进程中的实际运作单位.是一串指令的集合 一个线程指的是进程中一个单一顺序的控制流,一个进 ...

  6. 函数函数sigaction、signal

    函数函数sigaction 1. 函数sigaction原型: int sigaction(int signum, const struct sigaction *act, struct sigact ...

  7. golang 编译或链接 c语言动态、静态库的方法, golang 与 c语言 相互调用

    1.golang链接c静态库的方法可以见这个示例: https://github.com/atercattus/go-static-link-example https://github.com/sh ...

  8. ipv6地址管理

    为了彻底解决IPv4存在的问题,国际互联网工程任务组从1995年开始,着手研究开发下一代IP协议,即IPv6.可彻底解决IPv4地址不足的问题,除此之外,IPv6还采用分级地址模式.高效IP包头.主机 ...

  9. LG5901 【模板】欧拉定理

    题意 题目描述 给你三个正整数,$a,m,b$,你需要求: $a^b \mod m$ 输入输出格式 输入格式: 一行三个整数,$a,m,b$ 输出格式: 一个整数表示答案 输入输出样例 输入样例#1: ...

  10. Egret引擎开发基础(一)

    显示图片 var batman:egret.Bitmap = new egret.Bitmap( RES.getRes('hexo-huaheshang_png')); batman.x = 0; b ...