GDB Vs. WinDbg Commands

Here are a list of various useful commands that come in handy

Command / Option descriptionGDB CommandWinDbg 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.

原文地址:https://www.cnblogs.com/wangkangluo1/p/2337696.html