(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

最新文章

  1. 数字图像处理中的4邻接,8邻接与m邻接
  2. selenium+python自动化之pycharm
  3. ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍(转)
  4. .Net码农学Android---系统架构和基本概念
  5. JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验
  6. 【JAVA - SSM】之MyBatis的ParameterType的使用
  7. 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?
  8. rz/sz上传下载
  9. hadoop技术基本架构
  10. BestCoder Round #50 (div.1) 1001 Distribution money (HDU OJ 5364)
  11. ckeditor 插件
  12. 重写JS的鼠标右键点击菜单
  13. redis初步入门(1)
  14. C# 加载静态资源问题
  15. 章节四、2-Switch语句
  16. CSUST 1011 神秘群岛 (Dijkstra+LCA)
  17. .NET技术-1.0.使用反射、特性简化代码(验证Model类)
  18. 使用代数方程库 Algebra.js解二元一次方程
  19. Spring AOP切面变成——创建增强类
  20. apache出现You don’t have permission to access / on this server问题的解决

热门文章

  1. codeforces水题100道 第二十四题 Codeforces Beta Round #85 (Div. 2 Only) A. Petya and Strings (strings)
  2. 服务器搭建--Linux安装rabbitmq
  3. window下遍历并修改文件
  4. Linux设备驱动剖析之SPI(一)
  5. SSL延迟有多大?
  6. android studio下生成jni头文件
  7. Artech的MVC4框架学习——第六章Model的验证
  8. 【CF888G】Xor-MST Trie树(模拟最小生成树)
  9. CBV之详解
  10. nginx配置虚拟主机之不同端口和不同IP地址