2009-10-06 3 views
5

Ich möchte mit dem Delphi-Debugger ausführbare Dateien debuggen, für die ich keinen Code habe.Kann ich selbst eine .RSM-Datei generieren, damit der Delphi-Debugger verwendet werden kann?

WinDBG und andere Debugger sind in diesem Fall keine Option, da die angegebenen ausführbaren Dateien alle in meiner DLL aufrufen, für die ich tun Code natürlich haben. Mein oberstes Ziel ist es, einen Stack-Trace bis in die Funktionen der laufenden ausführbaren Datei zu sehen.

Ich habe Symbol-Informationen für diese ausführbaren Dateien, also hoffte ich, ich könnte meine eigenen .RSM-Dateien für diesen Zweck schreiben. Ob das funktioniert? Wird der Delphi-Debugger jede gefundene .RSM-Datei aufnehmen? Und würde das bedeuten, dass andere Debug-Informationen weggelassen werden sollten?

Beachten Sie, dass es viele ausführbare Dateien gibt, die ich debuggen muss, und für alle von ihnen erkenne ich die Symbole in ihnen selbst, die einen moderat erweiterten Funktionserkennungsalgorithmus verwenden. Mein Hauptproblem besteht hauptsächlich darin, wie man .RSM-Dateien schreibt. Dazu muss ich die Struktur des .RSM-Dateiformats kennen. Gibt es irgendwo Dokumentation oder Beispielcode, die mir zeigen, wie man eine solche Datei erstellt?

Jede Hilfe wird geschätzt!

PS: Könnten Sie sich fragen, warum ich all das mache: Es ist alles mit Dxbx - eine Open-Source-Xbox1-Emulator verwandt. Weitere Informationen finden Sie unter sourceforce. Neue Mitglieder sind willkommen!

+0

RSM-Dateien sind für Remote-Debugging. Wenn Sie Symboldateien haben, fragen Sie sich, wie Sie diese Dateien in ein Format konvertieren, das Delphi verwenden kann? In welchem ​​Format sind deine ursprünglichen Symbole? Wie ich schon vorher Tools zur Konvertierung gesehen habe. Welche Version von Delphi? –

+0

@Robert Love: Ich habe die Symbole im Speicher (nur eine Liste von Adressen mit Namen, wirklich) - Ich muss sie nur irgendwie ausschreiben, in der Hoffnung, dass der Debugger sie wieder einlädt. Alles, was ich will, ist meine entdeckt zu sehen Symbole erscheinen im Delphi-Stacktrace-Fenster. Ändert sich das .RSM-Format zwischen Delphi-Versionen? In diesem Fall lautet meine bevorzugte Reihenfolge: D2007, D2010, D2009, D2006, D2005, D7, D5. – PatrickvL

Antwort

-1

Überprüfen Sie diese url, die das Erstellen einer RSM-Datei für Delphi erwähnt.

+0

Danke fürs googeln - das habe ich auch selbst gefunden. Die Sache ist, ich möchte wissen, wie ich solch eine .RSM-Datei selbst schreiben kann, welches Format es hat, usw. Es scheint ein bisschen Reverse-Engineering in Ordnung zu sein, fürchte ich .... – PatrickvL

1

fand ich eine Seite, die das Format ist ähnlich wie die Codeansicht (www.openwatcom.org/index.php/Debugging_Format_Interoperability)

Es gibt einen Link auf Microsoft's CodeView format specs

diese Referenz sagt

bezweifle, dass ich voll Beantwortet Ihre Frage, aber vielleicht bringt Sie das noch ein bisschen weiter?

+0

Ich gehe davon aus ist so nah an einer Antwort, wie ich jemals bekommen werde ;-) Danke für Ihre Aufmerksamkeit. – PatrickvL

Verwandte Themen