summaryrefslogtreecommitdiffstats
path: root/tools/debug/natvis
diff options
context:
space:
mode:
Diffstat (limited to 'tools/debug/natvis')
-rw-r--r--tools/debug/natvis/Visualizers/icinga2.natstepfilter9
-rw-r--r--tools/debug/natvis/Visualizers/icinga2.natvis32
-rw-r--r--tools/debug/natvis/[Content_Types].xml1
-rw-r--r--tools/debug/natvis/extension.vsixmanifest18
4 files changed, 60 insertions, 0 deletions
diff --git a/tools/debug/natvis/Visualizers/icinga2.natstepfilter b/tools/debug/natvis/Visualizers/icinga2.natstepfilter
new file mode 100644
index 0000000..f53f002
--- /dev/null
+++ b/tools/debug/natvis/Visualizers/icinga2.natstepfilter
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010">
+ <Function><Name>icinga::String::.*</Name><Action>NoStepInto</Action></Function>
+ <Function><Name>icinga::Value::.*</Name><Action>NoStepInto</Action></Function>
+ <Function><Name>icinga::Array::.*</Name><Action>NoStepInto</Action></Function>
+ <Function><Name>icinga::Dictionary::.*</Name><Action>NoStepInto</Action></Function>
+ <Function><Name>icinga::Object::.*</Name><Action>NoStepInto</Action></Function>
+ <Function><Name>icinga::ObjectImpl&lt;.*</Name><Action>NoStepInto</Action></Function>
+</StepFilter>
diff --git a/tools/debug/natvis/Visualizers/icinga2.natvis b/tools/debug/natvis/Visualizers/icinga2.natvis
new file mode 100644
index 0000000..0ec4b78
--- /dev/null
+++ b/tools/debug/natvis/Visualizers/icinga2.natvis
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='utf-8'?>
+<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
+ <Type Name="icinga::String">
+ <DisplayString>{m_Data}</DisplayString>
+ </Type>
+
+ <Type Name="icinga::Value">
+ <DisplayString Condition="m_Value.which_ == 0">Empty</DisplayString>
+ <DisplayString Condition="m_Value.which_ == 1">{*(double *)m_Value.storage_.data_.buf}</DisplayString>
+ <DisplayString Condition="m_Value.which_ == 2">{*(double *)m_Value.storage_.data_.buf}</DisplayString>
+ <DisplayString Condition="m_Value.which_ == 3">{*(icinga::String *)m_Value.storage_.data_.buf}</DisplayString>
+ <DisplayString Condition="m_Value.which_ == 4">{*(boost::intrusive_ptr&lt;icinga::Object&gt; *)m_Value.storage_.data_.buf}</DisplayString>
+ </Type>
+
+ <Type Name="icinga::Array">
+ <DisplayString>{m_Data}</DisplayString>
+ <Expand>
+ <ExpandedItem>m_Data</ExpandedItem>
+ </Expand>
+ </Type>
+
+ <Type Name="icinga::Dictionary">
+ <DisplayString>{m_Data}</DisplayString>
+ <Expand>
+ <ExpandedItem>m_Data</ExpandedItem>
+ </Expand>
+ </Type>
+
+ <Type Name="icinga::ObjectLock">
+ <DisplayString>{m_Lock}</DisplayString>
+ </Type>
+</AutoVisualizer>
diff --git a/tools/debug/natvis/[Content_Types].xml b/tools/debug/natvis/[Content_Types].xml
new file mode 100644
index 0000000..b1c9cf9
--- /dev/null
+++ b/tools/debug/natvis/[Content_Types].xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="utf-8"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="vsixmanifest" ContentType="text/xml" /><Default Extension="natstepfilter" ContentType="application/octet-stream" /><Default Extension="natvis" ContentType="application/octet-stream" /></Types> \ No newline at end of file
diff --git a/tools/debug/natvis/extension.vsixmanifest b/tools/debug/natvis/extension.vsixmanifest
new file mode 100644
index 0000000..d870e89
--- /dev/null
+++ b/tools/debug/natvis/extension.vsixmanifest
@@ -0,0 +1,18 @@
+<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
+ <Metadata>
+ <Identity Id="Icinga2Visualizers.VS2013.D1DFF2F5-FB30-41FE-8EEF-0CEB97ABBC6B" Version="2.0.0" Language="en-US" Publisher="Icinga GmbH" />
+ <DisplayName>Icinga 2 Debugger Visualizers for Visual Studio</DisplayName>
+ <Description xml:space="preserve">Icinga 2 Debugger Visualizers</Description>
+ </Metadata>
+ <Installation>
+ <InstallationTarget Version="[12.0,13.0)" Id="Microsoft.VisualStudio.Premium" />
+ <InstallationTarget Version="[12.0,13.0)" Id="Microsoft.VisualStudio.Pro" />
+ <InstallationTarget Version="[12.0,13.0)" Id="Microsoft.VisualStudio.Ultimate" />
+ <InstallationTarget Version="[12.0,13.0)" Id="Microsoft.VisualStudio.VSWinDesktopExpress" />
+ </Installation>
+ <Dependencies></Dependencies>
+ <Assets>
+ <Asset Type="NativeVisualizer" Path="Visualizers\icinga2.natvis" />
+ <Asset Type="StepFilter" Path="Visualizers\icinga2.natstepfilter" />
+ </Assets>
+</PackageManifest>