Supponiamo che io abbia allegato gdb a un processo e che all'interno del suo layout di memoria ci sia un numero di file e di riga che vorrei fosse l'indirizzo di memoria di. Come posso ottenere l'indirizzo di memoria della riga n nel file x? Questo è su Linux x86.gdb trova l'indirizzo di memoria del numero di linea
6
A
risposta
13
(gdb) info line test.c:56
Line 56 of "test.c" starts at address 0x4005ae <main+37>
and ends at 0x4005ba <main+49>.
inoltre con il pitone si può essere in grado di utilizzare l'attributo 'ultima' dal Symbol-Tables-In-Python questo momento richiede una versione molto recente di gdb da CVS, ma immagino avrà larga diffusione nei 7.5
(gdb) py x = gdb.find_pc_line(gdb.decode_line("test.c:56")[1][0].pc); gdb.execute("p/x " + str(x.pc)); gdb.execute("p/x " + str(x.last))
$15 = 0x4005ae
$16 = 0x4005b9
+0
grazie per l'aiuto. –
+0
info line! Questo è ciò di cui avevamo bisogno in quell'altra domanda. –
Problemi correlati
- 1. GDB esamina i permessi di memoria
- 2. Guarda un intervallo di memoria in gdb?
- 3. GDB: Come verificare il numero di linea corrente durante il debug
- 4. Trova l'indirizzo del codice del programma in fase di runtime?
- 5. Bash: Trova il numero di linea della chiamata di funzione dal file di sourcing
- 6. Rilevamento perdite di memoria di Visual Studio non stampa nome file e numero linea
- 7. Scoprire in quale numero di linea si trova un elemento nella dom in Javascript?
- 8. Trova perdita di memoria nell'applicazione Web ASP.NET
- 9. Il numero di linea non viene visualizzato?
- 10. gdb, memoria di dump, salvataggio dell'output formattato in un file
- 11. Ottenere il numero di linea jsp effettivo da un numero di linea traccia stack?
- 12. Trova multipli di un numero in PHP
- 13. PHP fgetcsv() - trova il numero di colonne
- 14. regex: trova il numero di una cifra
- 15. Analisi di dump del core usando gdb
- 16. di debug ++ modello con gdb
- 17. Simbolo O fine del modello di linea
- 18. Trovare la linea di perdita di memoria in Strumenti
- 19. GDB: Come identificare il numero di riga della dichiarazione variabile di una variabile specifica per la funzione corrente in gdb
- 20. Trova la dimensione del singolo oggetto nella memoria
- 21. Perché sto ricevendo il messaggio "Single-stepping fino all'uscita ... che non ha informazioni sul numero di linea" in GDB?
- 22. Come saltare un numero di iterazioni di un loop in GDB?
- 23. Controllo del numero di teste di freccia
- 24. GCC non produce linea di informazioni sul numero, anche con l'opzione -g
- 25. gdb non trova i file sorgente compilati da clang ++
- 26. come faccio a cercare tutta la memoria di un processo in gdb?
- 27. Trova la linea di separazione tra due poligoni
- 28. Trova quando la linea è stata eliminata
- 29. trova il numero di stringhe nell'array 2D di stringhe
- 30. Comportamento strano di GDB
Più o meno un duplicato di [gdb disassemblare per numero di linea] (http://stackoverflow.com/questions/11285932/gdb-disassemble-by-line-number) - la risposta a questa domanda è una risposta perfettamente valida a questo uno pure. – duskwuff