2012-07-24 3 views
6

Durante il debug dell'applicazione Windows, volevo scoprire se è possibile individuare i simboli in una determinata posizione di memoria (e come). Questa sarà l'operazione inversa di digitare un simbolo nella finestra "Memoria", che tradurrà il simbolo nel suo indirizzo. Ma non il contrario.Come trovare i simboli in corrispondenza o vicino a un dato indirizzo di memoria? (utilizzando Visual Studio 2010)

È molto semplice sulla shell VxWorks e possibile con Linux gdb. Dovrebbe essere possibile su VS.

Grazie.

+1

Si potrebbe pensare ... :(Si dovrà utilizzare manualmente DIA per scoprire che le informazioni fuori Si prega di presentare un suggerimento qui:. Http://connect.microsoft.com/ – linuxuser27

+0

Grazie lo farà. Cos'è DIA? – FractalSpace

+1

DIA è un'API per l'interrogazione dei file di simboli, 'pdb', che vengono generati durante la compilazione.Non è un compito banale Cerca" DIA SDK " – linuxuser27

risposta

3

Quando si utilizza windbg per eseguire il debug, comando "ln Indirizzo" ti aiuterà a controllare i simboli vicino all'indirizzo di destinazione, spero che ti possa aiutare.

3

Se si è fortunati e si conosce l'indirizzo esatto, ma non si conosce il nome del simbolo, provare a scrivere l'indirizzo nella finestra di controllo e il VS troverà il simbolo. E.g. .

(void *)0x6F63E248 -> 0x6f63e248 {My.dll!TMyString<char,CMyMemHeap> *s_psMyAppNameAbbr} void * 
+1

+1 Finché la domanda è "Come trovare il simbolo in un dato indirizzo di memoria?", Questa è una risposta valida e utile. – Yirkha

+0

Questo è stato molto utile, esattamente quello di cui avevo bisogno. –