2012-06-11 8 views
14

Sto eseguendo il debug di un modulo per il quale ho solo l'exe e un .pdb senza simboli privati.
Durante la sessione di debug ho bisogno di ispezionare una struttura interna. Ovviamente questa struttura non appare nel PDB poiché è privata, ma fortunatamente ho un file .h dove questa struttura è definita. Pertanto, posso creare un modulo fittizio che utilizza questa struttura e ottenere un file PDB che contiene questa struttura.Forzare WinDbg per caricare i simboli di un modulo scaricato

Ora ho un modulo scaricato con i simboli struct, e vorrei caricare i suoi simboli per poter gettare un po 'di memoria su quella struttura. (Senza scaricare il file exe originale sto debug, naturalmente)
Il problema: sembra che WinDbg consente solo simboli di carico per moduli caricati ...

La mia domanda è: C'è un modo semplice ho potuto carica i miei simboli dal modulo scaricato?

Ho provato .reload /i /f MyDll.dll ma ottengo sempre ...MyDll.dll - unmatched.
L'impostazione del sympath non ha aiutato.

Qualche idea?

risposta

15

È possibile forzare windbg per caricare simboli in un indirizzo specifico, ad es.

0:000> .reload /f /i MyDll.dll=77777777 
    c:\sym\MyDll.pdb - unmatched 
0:000> lm 
start    end     module name 
00000000`55555555 00000000`55555555 notepad (no symbols) 
00000000`77530000 00000000`7762a000 USER32  (deferred) 
00000000`77777777 00000000`77777777 MyDll_77777777 (private pdb symbols) c:\sym\MyDll.pdb 

L'avvertimento senza eguali qui è perché windbg non può dire che i simboli corrispondano la versione corretta del modulo dal momento che non può trovare timestamp o checksum.

+0

Dove posso ottenere l'indirizzo per caricare la DLL .. – 51k

17

Un modo migliore è .reload /unl MyDll.dll

elenco di modulo a vuoto contiene timestamp (per un'immagine/corrispondenza PPB) e l'indirizzo di base di immagine. L'utilizzo di /unl indica a WinDBG di utilizzare tali informazioni.

+1

grazie: il tuo comando è l'unica variante che ha funzionato per me! – olegvs

+0

Questo ha funzionato anche per me .. – 51k

Problemi correlati