Ho provato a eseguire il debug di un programma con gdb in Raspbian, ma tutto quello che ottengo è:
Program received signal SIGILL, Illegal instruction.
0xb6fe8acc in ?? () from /lib/ld-linux-armhf.so.3
Non aiuta a impostare l' SIGILL
handle su nostop
( handle SIGILL nostop
):
Program received signal SIGILL, Illegal instruction.
Program terminated with signal SIGILL, Illegal instruction.
The program no longer exists.
Tutto il backtrace che ottengo è:
#0 0xb6fe8acc in ?? () from /lib/ld-linux-armhf.so.3
#1 0x00000000 in ?? ()
Se avvio il programma al di fuori di gdb, ottengo una normale eccezione C ++ (che vorrei eseguire il debug).
Tutti i software sono stati aggiornati all'ultima versione dai repository raspbian. Inoltre ho provato il kernel raspberry pi foundation "3.18.9+" e anche il kernel raspbain "3.18.0-trunk-rpi" (ho bisogno di alcuni moduli del kernel personalizzati). Posso eseguire il debug dello stesso programma sulla mia macchina principale senza problemi.
Aggiornamento: il debug funziona come previsto con il kernel "3.12-1-rpi".
Cosa sta causando questo errore?
pass
è impostato di default, non dovrebbe fare la differenza e non ha fatto nulla. Stesso risultato dihandle SIGILL nostop
bt
)? Penso che devi pensare a fornire più contesto qui se ti aspetti seriamente che qualcuno spieghi "Che cosa sta causando questo errore?" basato solo su un'istruzione illegale nel linker / loader ( ld-linux-armhf
).
handle SIGILL pass nostop
?