Illegal Instruction

David Nadlinger code at klickverbot.at
Tue Nov 7 17:03:06 UTC 2017


Hi Russel,

On 7 Nov 2017, at 16:54, Russel Winder wrote:
> To date gdb has failed me, but this is most certainly because I am
> effectively a newbie at using gdb.

Running "disas(semble)" once you hit the illegal instruction should 
print the code surrounding the instruction pointer in disassembled form. 
Seeing which instruction fails and where it is would be an inroads 
towards reducing/tracking down the issue.

The output you show has gdb stopping on SIGUSR1, which is (was?) used by 
the GC internally to synchronise between threads. You might need to run 
"handle SIGUSR1 noprint nostop" to avoid having to manually continue 
each time until you actually hit the illegal instruction.

GDB should automatically switch to the faulting thread, but if it 
doesn't, "info threads" to display a list of all threads and "thread 
<n>" to switch between them might be helpful.

Best,
David


More information about the digitalmars-d-ldc mailing list