简体   繁体   中英

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.

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.

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/

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM