2 Star 7 Fork 1

天黑请闭眼 / AutoHotkey_H

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
debug.natvis 5.95 KB
一键复制 编辑 原始数据 按行查看 历史
Lexikos 提交于 2023-08-04 09:16 . Improve debug.natvis
<?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>
<Item Name="func" Condition="mActionType == ACT_BLOCK_BEGIN">(UserFunc*)mAttribute</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 &amp;&amp; (*(UINT*)var->mName &amp; 0xffffff00) != 0xcdcdcd00">{*var}</DisplayString>
<DisplayString Condition="symbol == SYM_VAR &amp;&amp; var_deref->type == 0 &amp;&amp; (UINT)var_deref->marker != 0xcdcdcdcd">{*var_deref}</DisplayString>
<DisplayString Condition="symbol == SYM_COUNT">(end marker)</DisplayString>
<DisplayString Condition="symbol &gt;= SYM_OPERAND_END">{symbol,en} {error_reporting_marker,sub}</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 &amp;&amp; (*(UINT*)var->mName &amp; 0xffffff00) != 0xcdcdcd00">var</Item>
<Item Name="var_deref" Condition="symbol == SYM_VAR &amp;&amp; var_deref->type == 0 &amp;&amp; (UINT)var_deref->marker != 0xcdcdcdcd">var_deref</Item>
<Item Name="callsite" Condition="symbol == SYM_FUNC">callsite</Item>
<Item Name="marker" Condition="symbol == SYM_OPAREN">marker</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="DerefType">
<DisplayString>{marker,[length]sub}</DisplayString>
</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 Condition="symbol == SYM_MISSING">unset</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>
AutoHotkey
1
https://gitee.com/orz707/AutoHotkey_H.git
git@gitee.com:orz707/AutoHotkey_H.git
orz707
AutoHotkey_H
AutoHotkey_H
alpha-h

搜索帮助