加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
debug.natvis 4.99 KB
一键复制 编辑 原始数据 按行查看 历史
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="Line">
<DisplayString>{(enum_act)mActionType} ln {mLineNumber}</DisplayString>
<Expand>
<Item Name="act">(enum_act)mActionType</Item>
<Item Name="file">sSourceFile[mFileIndex],sub</Item>
<Item Name="line">mLineNumber,d</Item>
<Item Name="args">mArg,[mArgc]</Item>
</Expand>
</Type>
<Type Name="ArgStruct">
<DisplayString Condition="is_expression || !postfix">{text,sub}</DisplayString>
<DisplayString Condition="!is_expression &amp;&amp; postfix">{text,su}</DisplayString>
</Type>
<Type Name="ExprTokenType">
<DisplayString Condition="symbol == SYM_STRING">{marker}</DisplayString>
<DisplayString Condition="symbol == SYM_INTEGER">{value_int64}</DisplayString>
<DisplayString Condition="symbol == SYM_FLOAT">{value_double}</DisplayString>
<DisplayString Condition="symbol == SYM_OBJECT">{object}</DisplayString>
<DisplayString Condition="symbol == SYM_VAR">{var}</DisplayString>
<DisplayString>{symbol,en}</DisplayString>
<Expand>
<Item Name="value" Condition="symbol == SYM_STRING">marker</Item>
<Item Name="length" Condition="symbol == SYM_STRING">marker_length</Item>
<Item Name="value" Condition="symbol == SYM_INTEGER">value_int64</Item>
<Item Name="value" Condition="symbol == SYM_FLOAT">value_double</Item>
<Item Name="object" Condition="symbol == SYM_OBJECT">object</Item>
<Item Name="var" Condition="symbol == SYM_VAR">var</Item>
<Item Name="callsite" Condition="symbol == SYM_FUNC">callsite</Item>
</Expand>
</Type>
<Type Name="Var">
<DisplayString Condition="mAttrib &amp; 0x10">{mName,sub} = {mContentsInt64}</DisplayString>
<DisplayString Condition="mAttrib &amp; 0x20">{mName,sub} = {mContentsDouble}</DisplayString>
<DisplayString Condition="mAttrib &amp; 0x40">{mName,sub} = {mObject}</DisplayString>
<DisplayString Condition="mType == VAR_ALIAS">{mName,sub} -> {mAliasFor}</DisplayString>
<DisplayString Condition="mAttrib &amp; 0x02">{mName,sub} is unset</DisplayString>
<DisplayString>{mName,sub} = {mCharContents,su}</DisplayString>
<Expand>
<Item Name="object" Condition="mAttrib &amp; 0x40">mObject</Item>
</Expand>
</Type>
<Type Name="Func">
<DisplayString>{mName,sub}()</DisplayString>
</Type>
<Type Name="Object">
<DisplayString Condition="mFields.data->length >= 4">{((FieldType *)(mFields.data + 1))[0]}, {((FieldType *)(mFields.data + 1))[1]}, {((FieldType *)(mFields.data + 1))[2]}, {((FieldType *)(mFields.data + 1))[3]}</DisplayString>
<DisplayString Condition="mFields.data->length == 3">{((FieldType *)(mFields.data + 1))[0]}, {((FieldType *)(mFields.data + 1))[1]}, {((FieldType *)(mFields.data + 1))[2]}</DisplayString>
<DisplayString Condition="mFields.data->length == 2">{((FieldType *)(mFields.data + 1))[0]}, {((FieldType *)(mFields.data + 1))[1]}</DisplayString>
<DisplayString Condition="mFields.data->length == 1">{((FieldType *)(mFields.data + 1))[0]}</DisplayString>
<DisplayString>(no properties)</DisplayString>
<Expand>
<Synthetic Name="Properties">
<Expand>
<ArrayItems>
<Size>mFields.data->length</Size>
<ValuePointer>(FieldType *)(mFields.data + 1)</ValuePointer>
</ArrayItems>
</Expand>
</Synthetic>
</Expand>
</Type>
<Type Name="Object::Variant">
<DisplayString Condition="symbol == SYM_STRING">{string}</DisplayString>
<DisplayString Condition="symbol == SYM_INTEGER">{n_int64}</DisplayString>
<DisplayString Condition="symbol == SYM_FLOAT">{n_double}</DisplayString>
<DisplayString Condition="symbol == SYM_OBJECT">{{{*object}}}</DisplayString>
<DisplayString Condition="symbol == SYM_DYNAMIC">{*prop}</DisplayString>
<DisplayString>(bad symbol: {symbol})</DisplayString>
</Type>
<Type Name="Object::FieldType">
<DisplayString>{name,sub} = {*(Variant *)this,nd}</DisplayString>
<Expand>
<Item Name="name">name,sub</Item>
<Item Name="value" Condition="symbol == SYM_STRING">string</Item>
<Item Name="value" Condition="symbol == SYM_INTEGER">n_int64</Item>
<Item Name="value" Condition="symbol == SYM_FLOAT">n_double</Item>
<Item Name="value" Condition="symbol == SYM_OBJECT">*object</Item>
<Item Name="value" Condition="symbol == SYM_DYNAMIC">*prop</Item>
<Item Name="raw">*(Variant *)this,nd</Item>
</Expand>
</Type>
<Type Name="Property">
<Expand>
<Item Name="get" Condition="mGet">*mGet</Item>
<Item Name="set" Condition="mSet">*mSet</Item>
<Item Name="call" Condition="mCall">*mCall</Item>
</Expand>
</Type>
<Type Name="Array">
<Expand>
<ArrayItems>
<Size>mLength</Size>
<ValuePointer>mItem</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="FlatVector&lt;wchar_t,unsigned __int64&gt;">
<DisplayString>{(wchar_t*)(data + 1),su}</DisplayString>
</Type>
</AutoVisualizer>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化