Jon Taylor
Jon Taylor

Reputation: 301

How do I debug an executable with gdb when it crashes during startup?

I have a C-and-C++-based project I just got to build and link for the first time, and it segfaults on execution. I tried running it in gdb to get a backtrace, and saw this:

gdb) run
Starting program: /home/jon/controlix-code/bin/controlix 
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
No stack.
(gdb) 

I assume it is crashing before main() is called, but beyond that I don't have a clue. I haven't been able to find much about this type of situation on Google, so I thought I'd ask here.

Upvotes: 12

Views: 5508

Answers (1)

Lord Alveric
Lord Alveric

Reputation: 357

One approach is to catch all exceptions before running:

catch throw
run

And if that does not help, you may have to single-step through the assembly from the very beginning. But before you do that,

break main
run

and single-step through the code using step and next should lead you to the culprit.

Upvotes: 2

Related Questions