Title: [257906] trunk/Tools
Revision
257906
Author
basuke.suz...@sony.com
Date
2020-03-04 23:50:47 -0800 (Wed, 04 Mar 2020)

Log Message

[MSVC] Add .natvis support of WebKit types
https://bugs.webkit.org/show_bug.cgi?id=193119

Reviewed by Don Olmstead.

To help the WebKit developer while debugging, this file defines how
WebKit types are displayed in debugger of Visual Studio.
Very limited set of WebKit types, but it changes the world.

* VisualStudio/WebKit.natvis: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/ChangeLog (257905 => 257906)


--- trunk/Tools/ChangeLog	2020-03-05 07:18:17 UTC (rev 257905)
+++ trunk/Tools/ChangeLog	2020-03-05 07:50:47 UTC (rev 257906)
@@ -1,3 +1,16 @@
+2020-03-04  Basuke Suzuki  <basuke.suz...@sony.com>
+
+        [MSVC] Add .natvis support of WebKit types
+        https://bugs.webkit.org/show_bug.cgi?id=193119
+
+        Reviewed by Don Olmstead.
+
+        To help the WebKit developer while debugging, this file defines how
+        WebKit types are displayed in debugger of Visual Studio.
+        Very limited set of WebKit types, but it changes the world.
+
+        * VisualStudio/WebKit.natvis: Added.
+
 2020-03-04  Wenson Hsieh  <wenson_hs...@apple.com>
 
         Add system trace points around display list replay

Added: trunk/Tools/VisualStudio/WebKit.natvis (0 => 257906)


--- trunk/Tools/VisualStudio/WebKit.natvis	                        (rev 0)
+++ trunk/Tools/VisualStudio/WebKit.natvis	2020-03-05 07:50:47 UTC (rev 257906)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?> 
+<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
+  <!--
+    Place this file to %USERPROFILE%\Documents\Visual Studio 2019\Visualizers
+    For more info:
+      https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2019
+  -->
+  <Type Name="WTF::RefPtr&lt;*&gt;">
+    <DisplayString Condition="m_ptr == 0">empty</DisplayString>
+    <DisplayString>{*m_ptr}</DisplayString>
+  </Type>
+  <Type Name="WTF::UniqueRef&lt;*&gt;">
+    <DisplayString>{m_ref}</DisplayString>
+  </Type>
+  
+  <Type Name="WTF::StringImplShape">
+    <!-- AtomString -->
+    <DisplayString Condition="(m_hashAndFlags &amp; 0x10) &amp;&amp; (m_hashAndFlags &amp; 4)">
+      Atom:{m_data8,[m_length]s}
+    </DisplayString>
+    <DisplayString Condition="(m_hashAndFlags &amp; 0x10)">
+      Atom:{m_data16,[m_length]su}
+    </DisplayString>
+
+    <!-- Symbol -->
+    <DisplayString Condition="(m_hashAndFlags &amp; 0x20) &amp;&amp; (m_hashAndFlags &amp; 4)">
+      &lt;{m_data8,[m_length]s}&gt;
+    </DisplayString>
+    <DisplayString Condition="(m_hashAndFlags &amp; 0x20)">
+      &lt;{m_data16,[m_length]su}&gt;
+    </DisplayString>
+
+    <DisplayString Condition="(m_hashAndFlags &amp; 4)">
+      {m_data8,[m_length]s}
+    </DisplayString>
+    <DisplayString Condition="!(m_hashAndFlags &amp; 4)">
+      {m_data16,[m_length]su}
+    </DisplayString>
+
+    <DisplayString>not supported ({m_hashAndFlags})</DisplayString>
+  </Type>
+  
+  <Type Name="WTF::String">
+    <DisplayString>{m_impl}</DisplayString>
+  </Type>
+
+  <Type Name="IPC::StringReference">
+    <DisplayString Condition="!m_size">empty</DisplayString>
+    <DisplayString>{m_data,[m_size]s8}</DisplayString>
+  </Type>
+  
+  <Type Name="IPC::Decoder">
+    <DisplayString>{m_messageReceiverName}::{m_messageName}(ID={m_destination})</DisplayString>
+  </Type>
+  
+  <Type Name="WTF::URL">
+    <DisplayString>{m_string}</DisplayString>
+  </Type>
+  <Type Name="WTF::AtomString">
+    <DisplayString>{m_string} (Atom)</DisplayString>
+  </Type>
+ 
+  <Type Name="PAL::SessionID">
+    <DisplayString>{m_identifier}</DisplayString>
+  </Type>
+  
+  <Type Name="WTF::ObjectIdentifier&lt;*&gt;">
+    <DisplayString>{m_identifier}</DisplayString>
+  </Type>
+
+  <Type Name="WTF::OptionSet&lt;*&gt;">
+    <DisplayString>{m_storage,x}</DisplayString>
+  </Type>
+
+  <Type Name="WebCore::IntSize">
+    <DisplayString>({m_width} x {m_height})</DisplayString>
+  </Type>
+
+  <!-- Networking -->
+
+  <Type Name="WebCore::ResourceRequest">
+    <DisplayString>{m_httpMethod} {m_url} {m_httpBody}</DisplayString>
+  </Type>  
+</AutoVisualizer>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to