Reputation: 87
How do I debug a segmentation fault?
Basically this is what happens:
I run my server in background: ./server &
then I run my client: ./client
When I try to login to my server, on correct username and password, everything is okay, but when I type invalid user and password, it results in a segmentation fault.
How do I make the compiler/debugger able to output what error its actually see that causes segmentation core dump.
I know gdb but I try using gdb client but it doesn't seem to work.
Upvotes: 6
Views: 6346
Reputation: 5784
this ads annotations to the code. it's helpful only if you have a lot of function calls and you don't know the call path.
Upvotes: -1
Reputation: 19721
A good idea with segmentation faults is to run the program with valgrind
for debugging. That way, you'll often get more detailed information about what caused your segmentation fault. For example, it will tell you if you are reading from uninitialized memory.
Upvotes: 7
Reputation: 21351
If you are using g++ first compile your program using the -g option. Then use
gdb name_of_program core
to run gdb on the core dump you get (name_of_program
is the name of the executable file you just built with g++).
This link is useful for how to use gdb.
http://www.ibm.com/developerworks/library/l-gdb/
Upvotes: 6