Il software che scrivo (e vendo) è compresso e crittografato prima di distribuirlo. Ogni volta che rilascio una nuova build, tengo tutti i file .map e i binari generati incluso l'exe prima che venga compresso e crittografato.Come posso modificare il checksum di un modulo in un minidump?
Quando si arresta in modo anomalo sul computer di un cliente, recupero un minidump. Apro questi minidump in Visual Studio e li esploro lì.
Ho fatto buon uso di questi minidump cercando gli indirizzi nei file .map. Questo in genere mi porta nell'area corretta del codice e in genere posso ragionare sul perché si è verificato l'arresto anomalo e correggerlo, ma questo richiede MOLTO tempo.
Sarebbe utile se potessi usare i simboli che ho salvato dalla build originale nel debug del minidump.
Il mio problema è che ricevo avvertimenti sull'impossibilità di trovare i simboli giusti. La mia ricerca mi porta a credere che ciò sia dovuto al fatto che il checksum dell'exe sulla macchina del client non corrisponde al checksum dell'exe creato da Visual Studio. E capisco perché, è stato compresso e codificato. Ovviamente i checksum non coincidono.
I figura I può modificare manualmente il minidump o modificare il checksum dei file binari salvati per abbinare il checksum del distribuibile. Preferirei manipolare le copie memorizzate in modo da non dover modificare tutti i dump in arrivo, ma sarei estatico con entrambi.
Quindi, la mia domanda è: come posso individuare questi checksum e capire con cosa dovrei sostituirli? Come domanda ausiliaria: c'è un modo migliore?
Penso che il primo comando dovrebbe essere .symopt + 0x40 (hai dimenticato il punto iniziale). – Patrick