MySQL源码学习——DBUG调试

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:17 点击:

 

一、前言

         在规模稍微大点的项目中,为了方便快速找到bug的所在,我们往往需要在代码中加入一些调试用的代码,比如加入一些printf,打印出一些重点的信息;加入assert,进行断言判断。这些比较随意的调试代码会使整个系统显得比较凌乱。于是Fred Fish开发了一套用于嵌入代码中的库,开发人员只需要调用相应的函数即可加入调试信息。

        对于MySQL这种多线程的程序来说,调试也是比较困难的,MySQL选择了DBUG作为其调试代码(在原始代码的基础上进行了略微的改造),充分说明了DBUG的实用性,本文就DBUG的原始代码进行介绍。

二、DBUG下载与使用

       这里以linux下的开发进行介绍。

      首先需要下载DBUG源码,下载地址:http://sourceforge.net/projects/dbug/   

   解压后在dbug/src下即是debug所需的源码文件:dbug.h dbug.c

 

      dbug/example.c是一个简单的例子,源码如下:

 

 

?

 /*

 * This file is Public Domain

 *

 * Just short example, how Fred Fish's dbug package should be used

 *

 * Tonu Samuel <tonu @spam.ee="">

 *

 */

#include "dbug.h"

 

static int sub1 (void);

static void sub2 (char *arg);

 

static int

sub1 (void)

{

  DBUG_ENTER ("sub1");

 

  sub2 ("Hello world!");

  sub2 ("Hello earth!");

  sub2 ("Hello programmer!");

 

  DBUG_RETURN (0);

}

 

 

static void

sub2 (char *arg)

{

  DBUG_ENTER ("sub2");

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • mysql-mmm
  • mysqldump命令——MySQL数据库备份还原
  • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
  • 简简单单储存过程——循环一个select结果集
  • MySQL数据库十大优化技巧
  • Mysql主主复制架构配置
  • Mysql安装笔记
  • MySQL Stmt预处理提高效率问题的小研究
  • Mysql的Procedure 参数为NULL问题分析
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1