Here are a list of various useful commands that come in handy
Command / Option description | GDB Command | WinDbg Command / GUI operation descriptions |
---|
Enabling post-mortem default debugger
|
Not applicable on any Unix/Linux OS
|
To register as the default debugger type “windbg -I” and to use Dr.Watson use “drwtsn32 -i”
|
Invoking Debugger with core file or dump file (as called in windows)
|
gdb <executable-file> <core-file>
|
Windbg-y SymbolPath -i ImagePath -z DumpFileName <ExecutableName>
|
Attaching to a Running Process
|
gdb <executable> <pid>
|
windbg -p <pid>
|
Repeat Last Command
|
Hit the enter key the most previous command is repeated.
|
Hit the enter key the most previous command is repeated.
|
Display debugger command(s) while performing GUI operations in the debugger
|
Not applicable. You’ll have to type in your commands here.
|
.bpcmds
|
Enabling Source level debugging
|
Enabled for files compiled with -g option.
list / list {linenum} / list {filename:linenum} to display source file.
|
windbg <executable> <arguments>
“File->Open Source File…”. Then hit the F5 key to run the program. The program stops at the specified breakpoint.
|
Setting break point in a certain line in the code
|
break <line>
break <source>.<line>
break function_name
break cpp_class::function(params)
|
bp @@masm(`FileName:LineNumber+`)
|
Execute / Run program to a breakpoint or end of execution
|
Run
r
|
go
g
|
Step over to next instruction
|
next
|
p
|
Step into function / method
|
step
|
t
|
Display variable contents
|
print variable_name
|
dv local_variable_name
|
Dump memory contents
|
dump
|
d{a|b|c|d|D|f|p|q|u|w|W}
|
Back track and display stack frames from current frame
|
bt <number-of-stack-frames>
|
kc
k[b|p|P|v] [c] [n] [f] [L] [FrameCount]
|
More to follow on threads and other sub-commands.