{"id":70,"date":"2006-10-29T07:00:53","date_gmt":"2006-10-29T12:00:53","guid":{"rendered":"http:\/\/www.nynaeve.net\/?p=70"},"modified":"2019-12-13T17:41:45","modified_gmt":"2019-12-13T22:41:45","slug":"debugger-commands-review","status":"publish","type":"post","link":"http:\/\/www.nynaeve.net\/?p=70","title":{"rendered":"Debugger commands review"},"content":{"rendered":"<p>This posting is a master list of all the other posts and post series that cover different WinDbg commands, whether they be built-in commands, extension commands, or even third-party extension commands.<\/p>\n<ol>\n<li><a title=\"Using SDbgExt to aid your debugging and reverse engineering efforts (part 1)\" href=\"?p=6\">Using SDbgExt to aid your debugging and reverse engineering efforts (part 1)<\/a>.  SDbgExt is the debugger extension that I maintain and make publicly available.  This series provides a high-level overview of the different commands that it offers.<\/li>\n<li><a title=\"SDbgExt extensions, part 2\" href=\"?p=7\">SDbgExt extensions, part 2<\/a><\/li>\n<li><a title=\"Useful WinDbg commands: .formats\" href=\"?p=58\">Useful WinDbg commands: .formats<\/a><\/li>\n<li><a title=\"Using knf to track down excessive stack usage\" href=\"?p=60#WinDbg_knf\">Using <em>knf<\/em> to track down excessive stack usage<\/a>.  This trick is discussed in a section of the &#8220;<a title=\"Beware of stack usage with the new network stack in Windows Vista\" href=\"?p=60\">Beware of stack usage with the new network stack in Windows Vista<\/a>&#8221; post.<\/li>\n<li><a title=\"Removing kernel patching on the fly with the kernel debugger\" href=\"?p=72\">Removing kernel patching on the fly with the kernel debugger<\/a>.  This article discusses how you can use the <em>!chkimg<\/em> command to remove patches and hooks on loaded module code at runtime.  (This particular command is also available and applicable to the user mode debuggers, and not just the kernel debugger.)<\/li>\n<li><a title=\"Debugger flow control: More on breakpoints (part 2)\" href=\"?p=81#WinDbg_apply_dbp\">Debugger flow control: More on breakpoints (part 2)<\/a>.  This article explores some of the inner workings of the various breakpoints supported by WinDbg.  In addition, it describes the <em>.apply_dbp<\/em> command that can be used to apply a set of hardware breakpoints to the current register context, or a saved register context image in-memory.<\/li>\n<li><a title=\"SDbgExt 1.09 released (support for displaying x64 EH data)\" href=\"?p=94\">SDbgExt 1.09 released (support for displaying x64 EH data)<\/a>.  This article describes the <em>!fnseh<\/em> command in SDbgExt that can be used to view exception handlers and unwind handlers for x64 targets from the debugger.<\/li>\n<li><a title=\"Useful debugger commands: .writemem and .readmem\" href=\"http:\/\/www.nynaeve.net\/?p=162\">Useful debugger commands: .writemem and .readmem<\/a>.  This article covers the <em>.writemem<\/em> and <em>.readmem<\/em> commands that can be used to move large sections of raw data into or out of the debugger.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>This posting is a master list of all the other posts and post series that cover different WinDbg commands, whether they be built-in commands, extension commands, or even third-party extension commands. Using SDbgExt to aid your debugging and reverse engineering efforts (part 1). SDbgExt is the debugger extension that I maintain and make publicly available. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts\/70"}],"collection":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":1,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":671,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/671"}],"wp:attachment":[{"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.nynaeve.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}