Visual Studio高级调试技巧
|
-->对应的配置内容如下: ; std::string -- char
std::basic_string<char,*>{
preview ( #if(($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s]) #else ( [$e._Bx._Ptr,s]))
stringview ( #if(($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sb]) #else ( [$e._Bx._Ptr,sb]))
children
(
#if(($e._Myres) < ($e._BUF_SIZE))
(
#([actual members]: [$e,!] , #array( expr: $e._Bx._Buf[$i], size: $e._Mysize))
)
#else
(
#([actual members]: [$e,!], #array( expr: $e._Bx._Ptr[$i], size: $e._Mysize))
)
)
}
;------------------------------------------------------------------------------
; std::vector
;------------------------------------------------------------------------------
std::vector<*>{
children
(
#array
(
expr : ($e._Myfirst)[$i],
size : $e._Mylast-$e._Myfirst
)
)
preview
(
#(
"[", $e._Mylast - $e._Myfirst , "](",
#array
(
expr : ($e._Myfirst)[$i],
size : $e._Mylast-$e._Myfirst
),
")"
)
)
}
;------------------------------------------------------------------------------
; std::map
;------------------------------------------------------------------------------
std::map<*>{
children
(
#tree
(
head : $e._Myhead->_Parent,
skip : $e._Myhead,
size : $e._Mysize,
left : _Left,
right : _Right
) : $e._Myval
)
preview
(
#(
"[", $e._Mysize, "](",
#tree
(
head : $e._Myhead->_Parent,
skip : $e._Myhead,
size : $e._Mysize,
left : _Left,
right : _Right
) : $e._Myval,
")"
)
)
}
(2) 自定义类MyArray ①原始显示结果:
②配置了autoexp.dat的显示结果:
-->对应的配置内容如下: MyArray{
preview
(
#(
"[size is ", $c.m_nSize, "] m_pData is (",
#array
(
expr: ($c.m_pData)[$i],
size: $c.m_nSize
),
")..."
)
)
stringview
(
#(
"Hello MyArray!!!"
)
)
children
(
#(
#array
(
expr: ($c.m_pData)[$i],
size: $c.m_nSize
)
)
)
}
注1:双引号中字符串不能含有冒号,如:"[size is "不能写成"size: " 注2:多个类型使用 | 进行连接。如:MyArray|ArrayEx 注3:preview、stringview及children。对于不需要的部分可以不用定义,且三个部分没有先后顺序之分。 注4:格式的定义的最外层用大括号{},其中的每个部分使用小括号()。 注5:格式定义出错时,运行VS会弹出提示窗口,对于格式配置错误的类型,在调试期间无法正常显示。 注6:最外层的左边的大括号{必须紧挨着最后一个类型名,否则无论后面的格式正确与否,都无法正常显示。 注7:符号;为行注释符。 注8:$c表示当前所定义数据结构的对象,#array表示用数组形式显示内容,$i表示数组中的每个元素的索引,$e表示数组中的每个元素的值 注9:array结构必须同时包含expr和size两个部分,缺少其中一个部分都将导致信息无法正确显示。 注10:可使用#switch、#if进行条件分支判断,要注意的是:#switch结构不能用于#array结构中,否则可能导致VS挂死。 (编辑:我爱故事小小网_铜陵站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |




浙公网安备 33038102330570号