[Scummvm-cvs-logs] scummvm master -> e7054aa5a7a1b1b5345eea1705fd07ab565eead5

digitall dgturner at iee.org
Sat Dec 7 22:07:33 CET 2013


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
aff3412479 DEVTOOLS: Add debug visualization files for Visual Studio 2012+
e7054aa5a7 Merge pull request #416 from SpecLad/natvis


Commit: aff3412479aaf081cc4cdd99f0bcca3a894b663f
    https://github.com/scummvm/scummvm/commit/aff3412479aaf081cc4cdd99f0bcca3a894b663f
Author: Роман Донченко (dpb at corrigendum.ru)
Date: 2013-12-07T11:17:55-08:00

Commit Message:
DEVTOOLS: Add debug visualization files for Visual Studio 2012+

Changed paths:
  A devtools/create_project/scripts/scummvm.natvis
    dists/msvc11/readme.txt
    dists/msvc12/readme.txt



diff --git a/devtools/create_project/scripts/scummvm.natvis b/devtools/create_project/scripts/scummvm.natvis
new file mode 100644
index 0000000..ffeced7
--- /dev/null
+++ b/devtools/create_project/scripts/scummvm.natvis
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+    Debug visualizers for a few common ScummVM types for Visual Studio 2012 and up.
+
+    To use, copy this file into Documents\Visual Studio 20xx\Visualizers.
+
+    Known issues:
+
+    * Lists appear to be infinite (the same elements repeat over and over again).
+      Unfortunately, Lists don't store length information, and it's not possible to
+      detect whether a Node is the last one by the Node itself.
+
+    * In HashMaps, missing and dummy nodes are shown along with the useful ones.
+-->
+
+<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
+  <Type Name="Common::Array<*>">
+    <DisplayString>{{size = {_size}}}</DisplayString>
+    <Expand>
+      <Item Name="[size]">_size</Item>
+      <Item Name="[capacity]">_capacity</Item>
+      <ArrayItems>
+        <Size>_size</Size>
+        <ValuePointer>_storage</ValuePointer>
+      </ArrayItems>
+    </Expand>
+  </Type>
+
+  <Type Name="Common::HashMap<*,*,*,*>">
+    <DisplayString>{{ size = {_size} }}</DisplayString>
+    <Expand>
+      <Item Name="[size]">_size</Item>
+      <Item Name="[capacity]">_mask + 1</Item>
+      <Item Name="[deleted]">_deleted</Item>
+      <IndexListItems>
+        <Size>_mask + 1</Size>
+        <ValueNode Condition="_storage[$i] && _storage[$i] != (Common::HashMap<$T1,$T2,$T3,$T4>::Node *)1">*_storage[$i]</ValueNode>
+      </IndexListItems>
+    </Expand>
+  </Type>
+
+  <Type Name="Common::List<*>">
+    <DisplayString Condition="&_anchor == _anchor._next">{{ empty }}</DisplayString>
+    <DisplayString Condition="&_anchor != _anchor._next">{{ non-empty }}</DisplayString>
+    <Expand>
+      <LinkedListItems Condition="&_anchor != _anchor._next">
+        <HeadPointer>_anchor._next</HeadPointer>
+        <NextPointer>_next</NextPointer>
+        <ValueNode>((Common::ListInternal::Node<$T1>*)this)->_data</ValueNode>
+      </LinkedListItems>
+    </Expand>
+  </Type>
+
+  <Type Name="Common::String">
+    <DisplayString>{_str,[_size]}</DisplayString>
+    <StringView>_str,[_size]</StringView>
+    <Expand>
+      <Item Name="[size]">_size</Item>
+      <Item Condition="_str != _storage" Name="[capacity]">_extern._capacity</Item>
+      <Item Condition="_str != _storage" Name="[refCount]">*_extern._refCount</Item>
+      <ArrayItems>
+        <Size>_size</Size>
+        <ValuePointer>_str</ValuePointer>
+      </ArrayItems>
+    </Expand>
+  </Type>
+</AutoVisualizer>
diff --git a/dists/msvc11/readme.txt b/dists/msvc11/readme.txt
index fa91a8c..45faac0 100644
--- a/dists/msvc11/readme.txt
+++ b/dists/msvc11/readme.txt
@@ -3,4 +3,7 @@ files using the create_project tool inside the /devtools/create_project folder.
 
 To create the default project files, build create_project.exe, copy it inside
 this folder and run the create_msvc11.bat file for a default build. You can run
-create_project.exe with no parameters to check the possible command-line options
+create_project.exe with no parameters to check the possible command-line options.
+
+To enable debug visualization for common types, see the comment in
+/devtools/create_project/scripts/scummvm.natvis.
diff --git a/dists/msvc12/readme.txt b/dists/msvc12/readme.txt
index 760f9ff..2d91c72 100644
--- a/dists/msvc12/readme.txt
+++ b/dists/msvc12/readme.txt
@@ -3,4 +3,7 @@ files using the create_project tool inside the /devtools/create_project folder.
 
 To create the default project files, build create_project.exe, copy it inside
 this folder and run the create_msvc12.bat file for a default build. You can run
-create_project.exe with no parameters to check the possible command-line options
+create_project.exe with no parameters to check the possible command-line options.
+
+To enable debug visualization for common types, see the comment in
+/devtools/create_project/scripts/scummvm.natvis.


Commit: e7054aa5a7a1b1b5345eea1705fd07ab565eead5
    https://github.com/scummvm/scummvm/commit/e7054aa5a7a1b1b5345eea1705fd07ab565eead5
Author: David Turner (dgturner at iee.org)
Date: 2013-12-07T13:07:02-08:00

Commit Message:
Merge pull request #416 from SpecLad/natvis

DEVTOOLS: Add debug visualization files for Visual Studio 2012+

Changed paths:
  A devtools/create_project/scripts/scummvm.natvis
    dists/msvc11/readme.txt
    dists/msvc12/readme.txt









More information about the Scummvm-git-logs mailing list