Codeblocks调试STL——gdb with python support

一、Codeblocks调试STL的问题:

不管你是Windows还是Linux的C/C++程序员,C::B都是一个非常不错的集成开发环境,如果你经常使用STL,你会发现C::B对STL的调试支持很差,其实这并不是Codeblocks的问题,而是GDB本身对STL的支持太差。我们可以看到下图情况:

beforechange

 

但是对于一些复杂程序我们有时不得不使用调试观察程序运行情况,然而而STL又是我们编写C++程序一个不可缺少的工具,那我们该如何是好呢?有一个很笨的,但是万能的调试方法,就是输出调试,如果熟练这种调试方法会让我们非常迅速找到BUG,但是对于学习他人程序,以及大多数程序员来说但不调试还是有必要的,所以这里介绍一下怎么用python脚本来支持GDB,从而达到完美支持调试STL的目的。

二、如何在Codeblocks下使用:

1、我们可以在http://qp-gcc.googlecode.com/files/gdb-7.2.7z(MinGW GDB build with python support, also include wx and stl pretty printer 2010-09-05更新),这个打包文件已经包含了所有需要用到的python的文件,所以你不需要再下载python运行环境。也可以在http://code.google.com/p/qp-gcc/downloads/list下载最新的GDB以及wx and stl pretty printer。

2、将下载的文件解压并复制到“X:Program Files\CodeBlocks\MinGW\bin\”中。

3、让C::B启动调试时加载python脚本。如果你用的也是10.05版本的C::B,那么我们可以进入Debugger Setting如下:

debugger setting

 

我们在Debugger intialization commands文本框中填入如下格式的命令:

source $(TARGET_COMPILER_DIR)bin\stl.gdb
source $(TARGET_COMPILER_DIR)bin\wx.gdb

如果我们把C::B安装在Windows的D:\Program Files\目录下,我们可以这样写命令:

source D:\Program Files\CodeBlocks\MinGW\bin\stl.gdb
source D:\Program Files\CodeBlocks\MinGW\bin\wx.gdb

通过更改后我们再调试会看到下图的效果:

afterchange

4、好好享受C::B一爽到底的STL调试吧!

四、参考:

同时,你如果想了解的更多,可以参考如下内容:

  1. About python gdb scirpt support
  2. http://code.google.com/p/qp-gcc/
posted @ 2011-11-08 17:30  Wanglikai91  阅读(4641)  评论(0编辑  收藏  举报