Desidero eseguire il debug di eseguibili per i quali non ho codice, utilizzando Delphi Debugger.Posso generare un file .RSM da usare per Delphi Debugger?
WinDBG e altri debugger non sono disponibili in questo caso, poiché tutti i file eseguibili vengono richiamati nella DLL, per cui I do hanno codice, ovviamente. Il mio obiettivo finale è di vedere una traccia dello stack direttamente nelle funzioni dell'eseguibile in esecuzione.
Ho le informazioni sui simboli per questi file eseguibili, quindi speravo di poter scrivere i miei file .RSM per questo scopo. Funzionerà? Il debugger Delphi raccoglierà qualsiasi file .RSM che può trovare? E questo significherebbe che altre informazioni di debug dovrebbero essere tralasciate?
Si noti che ci sono molti eseguibili che ho bisogno di eseguire il debug, e per tutti loro rilevo i simboli al loro interno, usando un algoritmo di rilevamento delle funzioni moderatamente avanzato. Quindi il mio problema principale è principalmente come scrivere file .RSM. Per questo devo conoscere la struttura del formato di file .RSM. C'è documentazione o codice di esempio disponibile da qualche parte che mi mostra come creare un tale file?
Qualsiasi aiuto è apprezzato!
PS: Potrebbe chiederti perché sto facendo tutto questo: è tutto relativo a Dxbx - un emulatore open source Xbox1. Vedi sourceforce per i dettagli. Nuovi membri sono i benvenuti!
I file RSM sono per il debug remoto. Se hai file di simboli, stai chiedendo come convertire questi file in un formato che Delphi può usare? In che formato sono i tuoi simboli originali? Come ho visto strumenti per convertire prima. Quale versione di Delphi? –
@Robert Love: Ho i simboli in memoria (solo una lista di indirizzi con nomi, davvero) - Ho solo bisogno di scriverli in qualche modo, nella speranza che il debugger ricolleghi em. Tutto ciò che voglio è vedere il mio rilevato i simboli compaiono nella finestra Stacktrace di Delphi. Il formato .RSM cambia tra le versioni di Delphi? In questo caso, il mio ordine di preferenza è: D2007, D2010, D2009, D2006, D2005, D7, D5. – PatrickvL