Projektbezogene Natvis-Dateien in Visual Studio „14“

 C Programming >> C-Programmierung >  >> Tags >> File
Projektbezogene Natvis-Dateien in Visual Studio „14“

Visual Studio 2012 führte ein neues Framework zum Schreiben von Debugger-Visualizern für C++-Typen ein, das die alte Datei „autoexp.dat“ ersetzte. Das neue Framework bietet XML-Syntax, bessere Diagnose, Versionierung und Unterstützung mehrerer Dateien.

Visualizer werden in XML-Dateien mit der Erweiterung .natvis definiert . Diese Visualizer werden bei jedem Start des Debuggers geladen. Das heißt, wenn Sie eine Änderung an Visualizern vornehmen, ist es nicht erforderlich, Visual Studio neu zu starten, sondern nur den Debugger neu zu starten (z. B. den Debugger von dem zu debuggenden Prozess zu trennen und erneut anzufügen).

Diese Dateien können sich an einem dieser Orte befinden:

  • %VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers (Administratorzugriff erforderlich)
  • %USERPROFILE%\My Documents\Visual Studio 2012\Visualizers\
  • VS-Erweiterungsordner

In Visual Studio „14“ CTP (als Antwort auf eine UserVoice-Anforderung) können diese Dateien auch zu einem Visual C++-Projekt hinzugefügt werden, um die Verwaltung und Integration der Quellcodeverwaltung zu vereinfachen. Sie müssen lediglich die .natvis hinzufügen Datei zu Ihrer .vcxproj Datei.

Hier ist ein Beispiel. Angenommen, wir haben den folgenden Code:

struct point
{
   double x;
   double y;
   double z;
};

int main()
{
   point p { 1.0, 2.0, 3.0 };

	return 0;
}

Wenn Sie dies im Debugger ausführen, können Sie den Wert von p überprüfen und sieht so aus:

Um die Art und Weise des Punktes zu ändern Objekte visualisiert werden, erstellen Sie eine Datei namens point.natvis mit folgendem Inhalt:

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
   
  <Type Name="point">
    <DisplayString>{{point X={x}, Y={y}, Z={z}}}</DisplayString>
    <Expand>
      <Item Name="axis-X">x</Item>
      <Item Name="axis-Y">y</Item>
      <Item Name="axis-Z">z</Item>
    </Expand>     
  </Type>
   
</AutoVisualizer>

Fügen Sie diese Datei dem Projekt hinzu.

Wenn Sie die Anwendung erneut im Debugger ausführen, wird der Punkt Objekt wird entsprechend der pro-Projekt .natvis visualisiert Datei.

AKTUALISIEREN
Zwei Dinge sind zu beachten:

  • Änderungen in den Natvis-Dateien werden jetzt automatisch vom Debugger übernommen; Sie müssen die Debugging-Sitzung nicht mehr stoppen und neu starten, wenn Sie Änderungen an einer natvis-Datei vornehmen
  • natvis-Dateien aus dem Projekt werden nach allen anderen Dateien aus den anderen möglichen Orten ausgewertet; das bedeutet, dass Sie vorhandene (allgemeine) Visualizer mit projektspezifischen Visualizern überschreiben können

Weitere Informationen finden Sie unter Projektunterstützung für Natvis.