Vom Minidump zum Code
-
Hallo,
ich benutze im Prinzip Jochen Kalmbachs Tips zum schreiben einen Minidumps
(siehe http://www.c-plusplus.net/forum/261827-full ).
Nun habe ich irgendwo (ich glaube, es war im Blog von Martin Richter, aber da finde ich es nicht mehr) gelesen, dass beim laden eines Minidumps automatisch die dazu passende Programmversion aus dem Team Foundation Server geladen wird. Also das sowas geht.Wie geht sowas? Das wäre doch zu schön!
Danke!
-
In den Visual Studio Optionen kannst du unter Debugging Source Server Support (oder so) aktivieren, oder willst du auf was anderes hinaus?
-
Ja, das geht. Nennt sich "Source Server". Wir haben das in der Firma mit Subversion laufen.
Dazu musst du erstmal die erstellten .pdb Files "indizieren" -- also die nötigen Infos reinschreiben damit Visual Studio weiss wie es die Source-Files aus dem Source-Control System holen kann.
Dazu kannst du die original Skripts von MS verwenden:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms680641(v=vs.85).aspx
Bzw. es gibt auch Open-Source Projekte die das selbe machen, z.B. SourceServerSharp.
SourceServerSharp hat soweit ich weiss immer noch keinen funktionierenden TFS-Support.
Wäre aber relativ einfach zu erweitern -- im Prinzip musst du nur ne Funktion bauen die für einen Haufen Source-File Pfade jeweils eine Command-Line zusammenbaut mit der der File aus dem Source Control System bezogen werden kann.Und dann lädst du die ganzen .exe/.dll und .pdb Files auf einen Symbol-Server hoch.
Beim Aufmachen eines Crash-Dumps reicht es dann wenn der Symbol-Server im VS eingetragen ist -- alles weitere passiert automatisch.
D.h. VS holt sich über Name + Prüfsumme die passenden Binaries + PDB Files vom Symbol-Server, und über die in den PDB Files enthaltene Command-Line dann die jeweils benötigten Source-Files aus dem Source Control System.