Debugging Beyond Visual Studio – WinDbg
Getting started with WinDbg:
1. Download the Debugging Tools for Windows from the Microsoft website
We recommend you install WinDbg Preview as it offers more modern visuals, faster windows, a full-fledged scripting experience, built with extensible debugger data model front and center.
![]()
2. When clicking Download from the Microsoft Store, a prompt will appear, select “Get”
![]()
3. Windows will start the download and installation process. A prompt will confirm installation status.
![]()
4. Select to “Pin to Start,” close windows by clicking “X” on the top right of Window.
![]()
5. Set the Windows Symbol Server path in File > Settings > Symbol path (see example below)
![]()
6. Go to your Start menu, select the WinDbg Preview to launch the application
7. The WinDbg initial view
![]()
8. What is the difference between User Mode-Debugging and Kernel-Mode Debugging?
In User mode debugging, the code normally delegates to the system API’s to access hardware or memory. You typically are debugging a single executable, which is separated from other executables by the OS. Typical scenario is to isolate memory or application hang issues on Win32 desktop applications. In User mode, the debugger is running on the same system as the code being debugged.
In Kernel mode debugging, the code normally has unrestricted access to the hardware. Typical scenario is driver code developed for hardware devices. When debugging in Kernel mode you typically use two different systems. One system runs the code that is being debugged, and another runs the debugger, usually connected with a cable. Click here for additional information on Kernel mode debugging.
9. Advantages of WinDbg:
- Extensive numbers of commands and extensions.
- A useful tool to help understand OS and software running on the system being debugged.
- Lightweight and can be used in production as it has no dependency, only require an executable (.exe) to run.
- A useful tool to help isolate User or Kernel mode code that's difficult to troubleshoot on Windows.
10. Common User mode debugging commands:
.hh (Open WinDbg’s help)
![]()
Vertaget (Get the version of the target computer)
![]()
Symbol Path (Display or set symbol search path)
![]()
Version (Dump version info of debugger and loaded extension DLLs)
![]()
!ext.help(General extensions)
![]()
!analyze -v (Display information about the current exception or bug check; verbose)
![]()
11. Common Kernel mode debugging commands:
!analyze
![]()
!error (plus error code, e.g. “!error c0000005)
![]()
12. Useful links:
Debugging Using WinDbg Preview:
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-using-windbg-preview
Getting Started with WinDbg Microsoft Docs:
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg
Common WinDbg Commands:
http://windbg.info/doc/1-common-cmds.html
Elementary User-Mode Debugging:
https://microsoft.sharepoint.com/teams/bidpwiki/Pages1/Elementary%20User-Mode%20Debug.aspx
Debugging Beyond Visual Studio – WinDbg的更多相关文章
- Visual Studio 2010初学者的调试指南:Mastering Debugging in Visual Studio 2010 - A Beginner's Guide
Introduction In the software development life cycle, testing and defect fixing take more time than a ...
- 转:Remote debugging with Visual Studio 2010
Original URL http://www.codeproject.com/Articles/146838/Remote-debugging-with-Visual-Studio-2010 you ...
- Just-In-Time Debugging in Visual Studio 禁止VS在服务器上调试
To disable Just-In-Time debugging by editing the registry On the Start menu, search for and run rege ...
- How to debug .NET Core RC2 app with Visual Studio Code on Windows?
Simone Chiaretta (http://codeclimber.net.nz/archive/2016/05/20/How-to-debug-NET-Core-RC2-app-with-Vi ...
- 如何解决Visual Studio调试Debug很卡很慢
http://brightguo.com/make-debugging-faster-with-visual-studio/ Have you ever been frustrated by slow ...
- 用Visual Studio调试Windows和驱动程序
由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com Visual Studio版本:Visual Studio 2015企业版,中文环境. MSDN原文:https: ...
- 使用Visual Studio 2013 调试 MASM 汇编程序!
原文地址:http://kipirvine.com/asm/debug/vstudio2013/index.htm Using the Microsoft Visual Studio 2013 Deb ...
- Oleg Sych - » Pros and Cons of T4 in Visual Studio 2008
Oleg Sych - » Pros and Cons of T4 in Visual Studio 2008 Pros and Cons of T4 in Visual Studio 2008 Po ...
- Pros and Cons of T4 in Visual Studio 2008
Oleg Sych - » Pros and Cons of T4 in Visual Studio 2008 Pros and Cons of T4 in Visual Studio 2008 Po ...
随机推荐
- PHP 脚本不报错
场景 当运行PHP脚本,访问数组中不存在的key时,脚本不报错,如下: <?php $arr = [1,2,3]; // 不报错,返回null var_dump($arr['abc']); 解决 ...
- 03-HTML的body标签(文本标签)学习
<html> <head> <title>HTML的body标签-文本标签学习</title> <meta charset="utf ...
- [翻译] Oracle Database 12c 新特性Multitenant
译自官方白皮书http://www.oracle.com/technetwork/database/plug-into-cloud-wp-12c-1896100.pdf,包含新的云计算相关技术的介绍. ...
- 南京邮电大学java第三次实验报告
实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...
- UltraEdit 注册机
IDM-All-Products-KeyGen-v3.6UltraEdit 注册机 1.断开网络连接,运行UltraEdit软件后,点击“帮助”—“注册/激活”; 2.许可证ID填写“zd423”.密 ...
- Greenplum扩容
Greenplum支持原有主机扩展Segment个数.新增主机.和混合扩展 本文以在已有机器上扩展节点为例 1.可按照hostname:address:port:fselocation:dbid:co ...
- oracle 10g函数大全--日期型函数
sysdate [功能]:返回当前日期. [参数]:没有参数,没有括号 [返回]:日期 [示例]select sysdate hz from dual; 返回:2008-11-5 add_months ...
- dynalist 配额
2018-8-29 dynalist 配额 提示有一个G的配额 就是使用的流量用光了.仅有1个G
- SQLServer之DEFAULT约束
DEFAULT约束添加规则 1.若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为NULL. 2.如果“默认值”字段中的 ...
- linux环境快速编译安装python3.6
一.下载python3源码包 cd /tmp/wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 二.下载python3编译的依 ...