Skip to content

Commit 614a4ba

Browse files
committed
Add types debug helper
Thanks @Giperionn
1 parent 013fbe4 commit 614a4ba

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

src/Common.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@
3838
<xrBuildCxA>Rx86</xrBuildCxA>
3939
</PropertyGroup>
4040

41+
<ItemGroup>
42+
<!-- I don't want to touch every vcxproj file and $(SolutionDir) is not working here. This is a workaround. -->
43+
<Natvis Include="TypeHelper.natvis" Condition="exists('TypeHelper.natvis')"/>
44+
<Natvis Include="..\TypeHelper.natvis" Condition="exists('..\TypeHelper.natvis')"/>
45+
<Natvis Include="..\..\TypeHelper.natvis" Condition="exists('..\..\TypeHelper.natvis')"/>
46+
</ItemGroup>
47+
4148
<PropertyGroup Label="UserMacros">
4249
<xrBinRootDir>$(SolutionDir)..\bin\</xrBinRootDir>
4350
<xrLibRootDir>$(SolutionDir)..\lib\</xrLibRootDir>

src/TypeHelper.natvis

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
3+
4+
<Type Name="shared_str">
5+
<DisplayString Condition="p_ == 0">""</DisplayString>
6+
<DisplayString>{p_->value, s}</DisplayString>
7+
<StringView>p_->value, s</StringView>
8+
</Type>
9+
10+
<Type Name="CInifile::Item">
11+
<DisplayString>Key: {first, s} Value: {second, sb}</DisplayString>
12+
</Type>
13+
14+
<Type Name="CInifile::Sect">
15+
<DisplayString>{Name}</DisplayString>
16+
<Expand>
17+
<ExpandedItem>Data</ExpandedItem>
18+
</Expand>
19+
</Type>
20+
21+
<Type Name="CInifile">
22+
<DisplayString>Ini: flags: SaveAtEnd: {!!(m_flags.flags &amp; eSaveAtEnd)} ReadOnly: {!!(m_flags.flags &amp; eReadOnly)} OverrideNames: {!!(m_flags.flags &amp; eOverrideNames)}</DisplayString>
23+
<Expand>
24+
<ExpandedItem>DATA</ExpandedItem>
25+
</Expand>
26+
</Type>
27+
28+
<Type Name="resptr_base&lt;*&gt;">
29+
<DisplayString Condition="p_ == 0">""</DisplayString>
30+
<DisplayString>{p_->name}</DisplayString>
31+
</Type>
32+
33+
<Type Name="resptr_base&lt;CTexture&gt;">
34+
<DisplayString Condition="p_ == 0">""</DisplayString>
35+
<DisplayString>{p_->name}</DisplayString>
36+
</Type>
37+
38+
</AutoVisualizer>

0 commit comments

Comments
 (0)