GDB User Book
本文最后更新于:2017年10月18日 晚上
G++
g++ -o [Output program name] [CPP Source file] -g -Wall -Wl,--stack=128000$For$ $example:$
g++ -o a a.cpp -g -Wall -Wl,stack=128000$Or:$
g++ [CPP Source file] -o [Output program name] -g -Wall -Wl,--stack=128000If you want to use $gdb$ ,-g must be added.
GDB
Input
$Use:$
gdb [Output program name]To load your program that will be debugged.
When you in $gdb$ and your program won’t be loaded because you may give a wrong name or other reasons.You can use it in $gdb$.
(gdb) file [Output program name]Breakpoints
When $gdb$ load your program succesfully,you can make $breakpoints$.
$Use:$
(gdb) breakpoints [Line number]To make it Simpler,you can use:
(gdb) b [Line number]$Also:$
(gdb) b [Function name]$For$ $example:$
(gdb) b dfsIf you want your program stop when some conditions are true.Use:
(gdb) b 23 if cnt == 223Debugging
When you have set breakpoints,Use run to start your program:
(gdb) rWhen program stop at a breakpoint,you can usenext:
(gdb) nTo run your program step by step,but it won’t go into function that you call.
If you want to go into function that you call,use step:
(gdb) sIf you don’t want to run your program step by step,you want to go to the next breakpoint faster,Use continue:
(gdb) cIf you want see some Variables,Use:
(gdb) p [Variable name]To see this Variable just once,if you want it exists until you kill the program,Use:
(gdb) display [Variable name]Variable will be outputted with debugging information.
When you want to reboot program,or don’t want to debug.Use:
(gdb) killWhen you want to exit $gdb$:
(gdb) q