分享

在MS DEBUGGER中显示自定义数组内容(Show Custom Object In MS Debugger)

 quasiceo 2014-01-15

在MS DEBUGGER中显示自定义数组内容(Show Custom Object In MS Debugger)

MS DEBUGGER中可以显示标准C++类型信息,如vector等,对于自己定义的数组也是很容易实现的,只需要修改VS目录下COMM7\Packages\Debugger中的autoexp.dat 即可。

例如,我的数组:

复制代码
代码
 1 template<typename T,typename SizeType=unsigned>
 2 class Array
 3 {
 4 public:
 5     ///ctor 
 6     ///...
 7 
 8     ///dtor
 9     ///...
10 
11     inline T& operator[](SizeType &i){return mdata[i];}
12     inline const T& operator[]const(SizeType &i){return mdata[i];}
13 
14     ///other codes
15     ///...
16 
17 private:
18     T* mdata;
19     SizeType msize;
20 };
复制代码

打开autoexp.dat,定位到文件末尾,在倒数第二行([hresult])之前插入以下内容即可:

;------------------------------------------------------------------------------
;  Array
;------------------------------------------------------------------------------
Array<*>{
    preview (
        ; An actual array is previewed with its address.
        ; array<T, N> is previewed like vector<T>.
        #(
            "[",
            $e.msize,
            "](",
            #array(expr: $e.mdata[$i], size: $e.msize),
            ")"
        )
    )

    children (
        ; Just like an actual array.
        #array(expr: $e.mdata[$i], size: $e.msize)
    )
}

运行调试,自定义数组也可以像vector那样显示出内容了,呵呵是不是很爽啊。

该方法在VC++ 2008 Express Edition + WIN7 64bit下通过测试

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多