Per creare l'eseguibile .out, devo inserire:Programmazione C: come usare gdb con Makefile e argomenti della riga di comando?
$: make
$: myprogram.out name.ged
mio programma incorpora un argomento da riga di comando, così la "name.ged".
Ogni volta che corro gdb dopo aver ottenuto un errore di segmentazione (core dumped), entro in:
$: gdb a.out core
(gdb): bt
Ho quindi utilizzare il comando posteriore traccia e gdb rendimenti:
#0 0x4a145155 in ??()
#1 0x08a16ce0 in ??()
Ho anche provato usando il comando su t muovi in cima allo stack, ma ancora senza fortuna. Non riesco a capire quale linea del mio programma mi stia dando il segnale di errore. gdb funziona con i miei altri programmi che non coinvolgono un Makefile e gli argomenti del comando, quindi mi chiedo se i miei comandi non sono corretti.
È necessario compilare con il flag '-g'. Dato che non hai pubblicato il Makefile, non posso darti ulteriore aiuto. –
Quindi il comando dovrebbe essere gcc -g myprogram.out name.ged? – Bonnie
Nel file make c'è un comando per compilare il codice (gcc ...) Quel comando ha bisogno del flag -g per aggiungere ulteriori informazioni per far funzionare efficacemente gdb. –