Vorrei dichiarare una variabile convenienza array, come ad esempioÈ possibile dichiarare una variabile di convenienza GDB come una matrice?
set $list[10]
ma ottengo un errore di sintassi.
È possibile creare un vettore utilizzando le variabili di convenienza?
Potrei usare i puntatori, se riesco a trovare una memoria di area assoluta GDB può usare che il programma di destinazione non utilizzerà.
Oh, a proposito, non ho una tabella dei simboli per il programma di destinazione che sto eseguendo il debug, utilizzando un compilatore non compatibile con GDB.
La versione cross-target di GDB I non supporta Python.
cercherò il {...} funzione. Non posso usare malloc() perché non ho una tabella dei simboli, quindi gdb non sa dove sia malloc(). Potrei creare una variabile di convenienza, $ Malloc con l'indirizzo di malloc dalla mappa. Potrebbe funzionare. – KeithSmith
Se hai un indirizzo utilizzabile puoi usare il cast di {TYPE} per trattarlo come qualcos'altro. Ad esempio: set $ var = {int [4]} e main. O qualcosa del genere, vedi il manuale - Ho difficoltà a ricordare la sintassi esatta di questa estensione. –
@TomTromey Non penso sia possibile solo tramite allocazione manuale di una memoria nell'inferiore. Guarda: il codice 'set $ test =" Ciao "', 'p perror ($ test)' funziona correttamente. Puoi anche prendere l'indirizzo di. –