0

Ich arbeite mit einer Lösung, die ein .natvis in seinem Baum enthält. Der Workflow erfordert, dass ich Debug-Sitzungen der ausführbaren Dateien verschiedener Lösungen häufig unter Verwendung von devenv.exe /DebugExe switch starte. Wenn Sie auf diese Weise gestartet werden, wird die .natvis-Datei vom Debugger nicht verwendet.Gibt es eine Methode zum automatischen Anhängen eines .natvis an die Debug-Sitzung, die mit -DebugExe gestartet wurde?

Ich habe versucht, /Command switch mit Add Existing Item command zu verwenden, aber es sieht so aus, da die Debugge.exe keine richtige Lösung oder Projekt ist, es ist unmöglich, etwas hinzuzufügen (zumindest habe ich gescheitert).

Also die Frage ist: Gibt es eine Methode, die .natvis in einem beliebigen Pfad (nicht im Benutzerprofil, wo VisualStudio automatisch verwendet wurde) in/DebugExe-Sitzungen platziert?

+0

wie der Titel „Verwendung von Natvis Dateien“ und „Dateien in Ihre Projekte .natvis hinzufügen "Hier: https://msdn.microsoft.com/en-us/library/jj620914.aspx, es zeigte den Standardpfad für .natvis. Wenn Sie es zu Ihrem Projekt hinzufügen, sind standardmäßig auch Natvis-Dateien in unserem Projekt vorhanden eingefügt in t Die vom Projekt erstellte .pdb-Datei. Also, wenn Sie Ihre App debuggen, ist ein Problem, ob es die PDB-Datei laden könnte. –

+0

Danke @ JackZhai-MSFT. Dies ist jedoch keine Option. Die VS-Lösung und die Projekte werden nicht zum Erstellen verwendet. Sie werden vom eigenen Build-System des Projekts erzeugt, um die Entwicklung und das Debugging zu erleichtern. Möglicherweise gibt es eine Befehlszeilenoption, um die natvis in die generierten PDBs einzubeziehen ... muss überprüft werden. Trotzdem würde dies die PDBs erhöhen, und ich würde es vorziehen, wenn Standalone-Natvis verwendet werden könnte. –

+0

Ich werde mit anderen Mitgliedern diskutieren, wenn ich irgendwelche Update-Informationen bekomme, werde ich es hier teilen. –

Antwort

0

Sie könnten /NATVIS:filename verwenden, um Ihre .native-Datei zur .pdb-Datei hinzuzufügen. Es wird die Debugger-Visualisierungen einbetten, die im Dateinamen der Datei Natvis definiert sind, in die PDB-Datei , die von LINK generiert wird.

Darüber hinaus können Sie auf den Deploying .natvis files Teil in der Verbindung Jack zur Verfügung gestellt beziehen. Wir könnten auch die .natvis-Datei zum Benutzerverzeichnis oder zu einem Systemverzeichnis hinzufügen. Die Reihenfolge, in der .natvis Dateien ausgewertet ist wie folgt:

  1. natvis Dateien in einem PDB eingebettet Sie debuggen (es sei denn, eine Datei mit dem gleichen Namen in einem geladenen Projekt vorhanden)
  2. natvis Dateien Diese sind Teil eines geladenen C++ - Projekts oder eines übergeordneten Lösungselements. Dies umfasst alle geladenen C++ - Projekte, einschließlich Klassenbibliotheken, aber keine Projekte anderer Sprachen (z. B. das Laden einer .natvis-Datei aus einem C# -Projekt). Bei ausführbaren Projekten sollten Sie die Lösungselemente zum Hosten aller .natvis-Dateien verwenden, die nicht bereits in einer PDB vorhanden sind, da kein C++ - Projekt verfügbar ist.
  3. Die benutzerspezifischen natvis Verzeichnis (% USERPROFILE% \ Eigene Dateien \ Visual Studio 2015 \ Visualizer
  4. Die systemweite Natvis Verzeichnis (% VSINSTALLDIR% \ Common7 \ Packages \ Debugger \ Visualizer). Hier wird .natvis Dateien, die mit Visual Studio installiert sind, werden kopiert. Sie andere Dateien in diesem Verzeichnis als auch hinzufügen können, wenn Sie über Administratorrechte verfügen.
+0

Danke! Ich habe die/NATVIS-Lösung in unserem Projekt implementiert. Leider ist es nicht die ideale Lösung. Wir erweitern das natvis weiter, und da wir es nicht in der Lösung verwenden können, müssen wir das zum Kompilieren eingebaute verwenden. –

+0

Die spezifische pdb-Datei wurde von Ihrer target.exe oder dll:: https: //blogs.msdn.microsoft generiert.com/yash/2007/10/12/pdb-dateien-was-sind-sie-und-wie-erzeugen-sie /, wenn Ihre DLL-Datei aktualisiert wurde, muss sie wirklich aktualisiert werden. Wie auch immer, die Natvis hat wirklich diese Anforderungen. Wir haben auch eine andere bessere Lösung, aber Sie könnten eine Feature-Anfrage an das Produkt-Team hier einreichen: http://visualstudio.uservoice.com/forums/121579-visual-studio. Das Visual Studio-Produktteam hört dort die Benutzerstimme. –

Verwandte Themen