(3.2)mysql基础深入——mysql源码阅读工具安装与应用
(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
最新文章
- 数字图像处理中的4邻接,8邻接与m邻接
- selenium+python自动化之pycharm
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍(转)
- .Net码农学Android---系统架构和基本概念
- JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验
- 【JAVA - SSM】之MyBatis的ParameterType的使用
- 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?
- rz/sz上传下载
- hadoop技术基本架构
- BestCoder Round #50 (div.1) 1001 Distribution money (HDU OJ 5364)
- ckeditor 插件
- 重写JS的鼠标右键点击菜单
- redis初步入门(1)
- C# 加载静态资源问题
- 章节四、2-Switch语句
- CSUST 1011 神秘群岛 (Dijkstra+LCA)
- .NET技术-1.0.使用反射、特性简化代码(验证Model类)
- 使用代数方程库 Algebra.js解二元一次方程
- Spring AOP切面变成——创建增强类
- apache出现You don’t have permission to access / on this server问题的解决
热门文章
- codeforces水题100道 第二十四题 Codeforces Beta Round #85 (Div. 2 Only) A. Petya and Strings (strings)
- 服务器搭建--Linux安装rabbitmq
- window下遍历并修改文件
- Linux设备驱动剖析之SPI(一)
- SSL延迟有多大?
- android studio下生成jni头文件
- Artech的MVC4框架学习——第六章Model的验证
- 【CF888G】Xor-MST Trie树(模拟最小生成树)
- CBV之详解
- nginx配置虚拟主机之不同端口和不同IP地址