user1587149
user1587149

Reputation: 87

How to debug a segmentation fault

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

Answers (3)

titus
titus

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

celtschk
celtschk

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

mathematician1975
mathematician1975

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

Related Questions