]> granicus.if.org Git - icinga2/commitdiff
Implement debug visualizers for Visual Studio.
authorGunnar Beutner <gunnar@beutner.name>
Tue, 12 Nov 2013 23:32:30 +0000 (00:32 +0100)
committerGunnar Beutner <gunnar@beutner.name>
Tue, 12 Nov 2013 23:32:30 +0000 (00:32 +0100)
Fixes #5067

tools/debug/natvis/Visualizers/icinga2.natstepfilter [new file with mode: 0644]
tools/debug/natvis/Visualizers/icinga2.natvis [new file with mode: 0644]
tools/debug/natvis/[Content_Types].xml [new file with mode: 0644]
tools/debug/natvis/extension.vsixmanifest [new file with mode: 0644]

diff --git a/tools/debug/natvis/Visualizers/icinga2.natstepfilter b/tools/debug/natvis/Visualizers/icinga2.natstepfilter
new file mode 100644 (file)
index 0000000..77853ec
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<StepFilter xmlns="http://schemas.microsoft.com/vstudio/debugger/natstepfilter/2010">
+  <Function><Name>boost::.*</Name><Action>NoStepInto</Action></Function>
+  <Function><Name>std::.*</Name><Action>NoStepInto</Action></Function>
+  <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 (file)
index 0000000..bcd2ef5
--- /dev/null
@@ -0,0 +1,19 @@
+<?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>{m_Value}</DisplayString>
+  </Type>
+
+  <Type Name="icinga::Array">
+    <DisplayString>{m_Data}</DisplayString>
+  </Type>
+
+  <Type Name="icinga::Dictionary">
+    <DisplayString>{m_Data}</DisplayString>
+  </Type>
+</AutoVisualizer>
diff --git a/tools/debug/natvis/[Content_Types].xml b/tools/debug/natvis/[Content_Types].xml
new file mode 100644 (file)
index 0000000..b1c9cf9
--- /dev/null
@@ -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 (file)
index 0000000..5f46f75
--- /dev/null
@@ -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="0.0.4" Language="en-US" Publisher="Icinga Development Team" />
+    <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>
\ No newline at end of file