Almost 60% of the commands I use everyday..
dv /i /t
?? this
kM (kinda undocumented) generates links to frames
.frame x
!analyze -v
!lmi
~
Explanation
dv /i /t
[doc]
dv
- display names and values of local variables in the current scope
/i
- specify the kind of variable: local, global, parameter, function, or unknown
/t
- display data type of variables
?? this
[doc]
??
- evaluate C++ expression
this
- C++ this pointer
kM
[doc]
k
- display stack back trace
M
- DML mode. Frame numbers are hyperlinks to the particular frame. For more info about kM refer to http://windbg.info/doc/1-common-cmds.html
.frame x
[doc]
- Switch to frame number x. 0 being the frame at top of stack, 1 being frame 1 below the 0th frame, and so on.
- To display local variables from another frame on the stack, first switch to that frame -
.frame x
, then use dv /i /t
. By default d
will show info from top frame.
!analyze -v
[doc1] [doc2 - Using the !analyze Extension]
!analyze
- analyze
extension. Display information about the current exception or bug check. Note that to run an extension we prefix !
.
-v
- verbose output
!lmi
[doc]
!lmi
- lmi
extension. Display detailed information about a module.
~
[doc]
~
- Displays status for the specified thread or for all threads in the current process.