mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-25 21:41:03 +00:00
- added Visual Studio debugger visualization for several types
This commit is contained in:
parent
94e7b6f3b5
commit
4ae16c27e2
3 changed files with 86 additions and 0 deletions
|
@ -743,6 +743,7 @@ set( NOT_COMPILED_SOURCE_FILES
|
|||
scripting/zscript/zcc-parse.lemon
|
||||
zcc-parse.c
|
||||
zcc-parse.h
|
||||
win32/zdoom.natvis
|
||||
)
|
||||
|
||||
set( VM_JIT_SOURCES
|
||||
|
|
|
@ -619,6 +619,7 @@ public:
|
|||
|
||||
typedef TIterator<T> iterator;
|
||||
typedef TIterator<const T> const_iterator;
|
||||
typedef T value_type;
|
||||
|
||||
iterator begin()
|
||||
{
|
||||
|
@ -1478,6 +1479,7 @@ public:
|
|||
|
||||
typedef TIterator<T> iterator;
|
||||
typedef TIterator<const T> const_iterator;
|
||||
typedef T value_type;
|
||||
|
||||
iterator begin()
|
||||
{
|
||||
|
|
83
src/win32/zdoom.natvis
Normal file
83
src/win32/zdoom.natvis
Normal file
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
|
||||
|
||||
<Type Name="TArray<*>">
|
||||
<DisplayString>Size = {Count}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Size">Count</Item>
|
||||
<Item Name="Capacity">Most</Item>
|
||||
<ArrayItems>
|
||||
<Size>Count</Size>
|
||||
<ValuePointer>(value_type*)Array</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="TArrayView<*>">
|
||||
<DisplayString>Size = {Count}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Size">Count</Item>
|
||||
<ArrayItems>
|
||||
<Size>Count</Size>
|
||||
<ValuePointer>(value_type*)Array</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="TStaticPointedArray<*>">
|
||||
<DisplayString>Size = {Count}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Size">Count</Item>
|
||||
<ArrayItems>
|
||||
<Size>Count</Size>
|
||||
<ValuePointer>(value_type*)Array</ValuePointer>
|
||||
</ArrayItems>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="FName">
|
||||
<DisplayString>{FName::NameData.NameArray[Index].Text, s}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="FString">
|
||||
<DisplayString>{Chars, s}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Size">((FStringData*)Chars - 1)->Len</Item>
|
||||
<Item Name="Capacity">((FStringData*)Chars - 1)->AllocLen</Item>
|
||||
<Item Name="Reference Count">((FStringData*)Chars - 1)->RefCount</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="TAngle<*>">
|
||||
<DisplayString>{Degrees}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="PClass">
|
||||
<DisplayString>{TypeName}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="DObject">
|
||||
<DisplayString>{Class->TypeName}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="TObjPtr<*>">
|
||||
<DisplayString Condition="o == nullptr"><NULL></DisplayString>
|
||||
<DisplayString Condition="o != nullptr">{o->Class->TypeName}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="FTextureID">
|
||||
<DisplayString Condition="texnum == -1"><None></DisplayString>
|
||||
<DisplayString Condition="texnum != -1">{TexMan.Textures[texnum].Texture->Name}</DisplayString>
|
||||
<Expand>
|
||||
<Item Name="Index">texnum</Item>
|
||||
<Item Name="Texture">TexMan.Textures[texnum].Texture</Item>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="FSoundID">
|
||||
<DisplayString Condition="ID == 0"><None></DisplayString>
|
||||
<DisplayString Condition="ID != 0">{S_sfx[ID].name}</DisplayString>
|
||||
</Type>
|
||||
|
||||
</AutoVisualizer>
|
Loading…
Reference in a new issue