用Visual Studio调试Windows和驱动程序

由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:[email protected]

MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh406281(v=vs.85).aspx

从Windows Driver Kit (WDK) 8开始,驱动开发环境和Windows调试器都集成到Visual Studio里了。在这个集成环境里,大多数你需要开发驱动的工具:编写代码、编译、打包、测试、调试、发布,都在Visual Studio的界面中。

想得到这个集成开发环境,首先得安装Visual Studio,随后安装 Windows Driver Kit (WDK),更多信息,查看 Windows Driver Kit (WDK).

一般来说,内核模式调试需要两台电脑,调试器运行在主机(host computer)上,被调试的代码放到目标机(target computer)上。目标机也叫测试机(test computer)。你可以在一台电脑上做用户模式的调试。但是某些情况下,你可能想在另外的目标机上,调试一个正在运行的用户模式的进程。

在Visual Studio环境中,你可以配置目标机进行用户模式和内核模式调试。你可以建立用户模式的会话,你可以附加一个用户模式进程或运行和调试一个用户进程在主机或目标机上。你可以分析转储文件。在Visual Studio里,你可以在目标机中标记(sign)、发布、安装、加载驱动。

这些文章会告诉你,在调试驱动时候,如何用Visual Studio执行不同的调试任务。

时间: 2024-10-24 23:58:48

用Visual Studio调试Windows和驱动程序的相关文章

[转]Visual Studio调试之符号文件

http://www.cnblogs.com/killmyday/archive/2009/10/14/1582882.html 前面在不能设置断点的检查步骤和Visual Studio调试之断点进阶篇提到了调试符号文件及其作用,这篇文章我将要介绍调试符号文件的一些用法,如果你已经很熟悉调试文件的话,尽可以跳过本文. 调试符号文件为调试器提供了从二进制机器代码地址到源代码文本文件代码行的映射.因此有了符号文件,我们才能: 1.       设置断点,因为调试器需要符号文件提供的映射关系,将源代码

Visual Studio调试之断点基础篇

原文链接地址:http://www.cnblogs.com/killmyday/archive/2009/09/26/1574311.html 我曾经问过很多人,你一般是怎么调试你的程序的? F9, F5, F11, F-- 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,.ASP.NET之类的程序:知道如何编写固然重要,但是我觉得程序员可能只会花费30%的时间在编写代码上,剩下的大部分时间都是在调试程序.在网上看到很多人介绍Windbg的用法,但是没有看到几篇讲解

Visual studio 调试连接数据库异常解决方法

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.SqlClient.SqlException: 在

Visual Studio调试之断点技巧篇

原文链接地址:http://blog.csdn.net/Donjuan/article/details/4618717 函数断点 在前面的文章Visual Studio调试之避免单步跟踪调试模式里面我讲了如何设置函数断点,说实话,我个人喜欢设置函数断点,而不是在代码行里面设置断点.一般来说,函数断点在下面几种情形下有用: 1. 例如调试一个网站程序,你通过分析网站的日志发现最有可能发生错误的函数,打开调试器并将调试器附加到程序上去,设置函数断点,重新执行网站--这样做的好处是,不用到处打开源文件

Visual Studio调试之断点技巧篇补遗

原文链接地址:http://blog.csdn.net/Donjuan/article/details/4649372 讲完Visual Studio调试之断点技巧篇以后,翻翻以前看得一些资料和自己写的一些文章,发现还有几个关于中断程序的技巧在前面的文章里面遗漏了,决定还是在这里总结一下.当然啦,如果你知道这些技巧,忽略这篇文章好了,:) 在程序启动的时候将调试器附加上去 可能有人会对这个问题有一些争议,因为大部分情况下我们只需要在调试器(Debugger)里面直接启动被调试程序(Debugge

Visual Studio调试之避免单步跟踪调试模式

Visual Studio调试之避免单步跟踪调试模式 写完Visual Studio调试之断点进阶篇之后,想分享一下我常用的一些调试技巧,后面发现写之前,一些背景知识需要介绍一下. 下面是几篇今年2月份在CSDN写的几篇文章,比如关于如何使用第一次异常处理机会和第二次异常处理机会的区别来快速定位异常发生的位置,如何设置函数断点之类的文章.因为后续我打算写几篇我常用的小技巧,可能需要先了解一些背景知识,就只把链接贴出来了.理解First Chance和Second Chance避免单步调试:htt

Visual Studio调试之断点进阶篇

Visual Studio调试之断点进阶篇 在上一篇文章Visual Studio调试之断点基础篇里面介绍了什么是断点,INT 是Intel系列CPU的一个指令,可以让程序产生一个中断或者异常.程序中如果有中断或者异常发生了以后,CPU会中断程序的执行,去一个叫做IDT的部件查找处理这个中断(或者异常)的例程(Handler).IDT是操作系统在启动的时候初始化的,至于IDT的细节问题,例如什么是IDT,怎样编写一个IDT的例程,怎样 初始化IDT,可以去网上搜索一些资料. 总之,这里我们只要知

用Natvis定制C++对象在Visual Studio调试时如何显示

博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用Natvis定制C++对象在Visual Studio调试时如何显示.

Visual Studio调试的10个技巧

本篇体验Visual Studio的10个调试技巧,包括: 1.插入断点和断点管理2.查看变量信息3.逐语句F11,逐过程F10,跳出Shift+F114.查看堆栈信息5.设置下一条执行语句6.调试时修改局部变量并继续调试7.线程管理8.为断点设置条件9.使用命令窗口测试方法10.变量的历史记录 有这样的一个Person类: public class Person { public string Name { get; set; } public int Age { get; set; } pu