1. 程式人生 > >Windows驅動除錯環境配置

Windows驅動除錯環境配置

平臺概述

主機系統:Win8.1

整合開發環境:Visual Studio 2013

驅動開發包:WDK8.1

虛擬機器:VMware Workstation 10

目標系統:Win7X86

虛擬機器環境配置

此處使用的虛擬機器版本為VMware Workstation 10

2.1 連線設定

進入虛擬機器設定介面,刪除印表機設定,新增串列埠,設定命名管道,如圖2.1所示

 

圖 2.1

2.2 系統引導項設定

進入系統後,以管理員身份執行“bootopt.bat”,開啟除錯模式,並新建一個“windows 7 normal”的啟動選項,作為備份,如圖2.2所示:


2.2

初嘗驅動開發

3.1 安裝WDK

下載WDK8.1並安裝完成後,Visual Studio 2013中會出現“Windows Driver驅動開發模組,如圖3.1所示:

 

圖3.1

注:可以在“開始選單”的“WDK目錄”下面找到“WinDbg.exe”,將其拷貝到桌面方便使用。

3.2 新建專案

新建一個空的KMDF專案,專案名稱為“HelloDriver”,如圖3.2所示:

 

3.2

3.3 驅動開發

3.3.1 新增一個“HelloDriver.c”檔案

#include <wdm.h>
 
VOID DriverUnload(PDRIVER_OBJECT driver)
{
	DbgPrint("HelloDriver Unload!\n");
}
 
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING RegistryPath)
{
	DbgPrint("Hello Driver!\n");
	driver->DriverUnload = DriverUnload;
 
	return STATUS_SUCCESS;
}

3.3.2 修改編譯選項

選擇Win7 Release編譯選項進行編譯,如圖3.3所示:

 

3.3

3.3.3 修改專案屬性

1. Wpp Tracking >> Run Wpp Tracking,將“是”改為“否”,如圖3.4所示:

 

3.4

以防止出現如下圖所示錯誤:

 

3.5

2. C/C++ >> 將警告視為錯誤,將“是”改為“否”,如圖3.5所示;

 

3.6

否則會出現下圖的錯誤與警告:

 

3.7

驅動除錯

4.1 啟動除錯

啟動系統至圖4.1介面時,執行“WinDbg.exe”,當“WinDbg”產生中斷時,我們可以輸入命令“

g”使其繼續執行,如圖4.2所示:

 

4.1

 

4.2

4.2 驅動服務安裝

當完全進入系統後,將編譯好的“HelloDriver.sys”拷貝到“D:/Driver”路徑下,然後執行“SRVINSTW.exe”,選擇“安裝服務”進行“下一步”;選擇“本地機器”,進行“下一步”;輸入服務名稱“Hello”,如圖4.3所示,

 

4.3

然後進行“下一步”;輸入路徑名稱“D:\Driver\HelloDriver.sys”,如圖4.4所示:

 

4.4

注意這裡無法通過瀏覽獲取驅動檔案的路徑,進行“下一步”;選擇“裝置驅動”,進行“下一步”;“驅動器目標名”為空,不用填寫,進入“下一步”;選擇“手動”,這裡選擇手動是為了方便我們對驅動載入及解除安裝的觀察,如圖4.5所示:

 

4.5

然後“下一步”,“完成”。經過以上步驟,驅動已經在系統中安裝完成,下面我們可以開始進行驅動除錯了。

4.3 驅動服務的啟動與暫停

執行“cmd.exe”,輸入“net start hello”、“net stop hello”,可以看到服務啟動成功和服務成功停止的提示訊息,如圖4.6所示:

 

4.6

同時,在WinDbgCommand視窗中可以看到輸出資訊:

 

4.7

附錄

* 我們還可以使用“DbgView”來觀察輸出資訊,其基本設定如下:

 

5.1

同樣只要在“cmd.exe”中輸入“net start hello”即可觀察到驅動的輸出資訊:

 

5.2

* 相關工具可到百度雲盤中下載,連結:https://pan.baidu.com/s/1pLylR3X 密碼:im9b

相關推薦

Windows驅動除錯環境配置

1 平臺概述 主機系統:Win8.1 整合開發環境:Visual Studio 2013 驅動開發包:WDK8.1 虛擬機器:VMware Workstation 10 目標系統:Win7X86 2 虛擬機器環境配置 此處使用的虛擬機器版本為VMware Workstat

搭建windows驅動除錯環境

不多說進入正題, win 7 64位 + VM9.0 windows xp + WDK 7.1 + WINDBG  假設已經安裝好了 vm 9.0 windows xp , win7 為本機, 下載WDK7.1 下載地址是 :   http://download.micr

Android驅動程式開發和除錯環境配置

    本文用《Android深度探索(卷1):HAL與驅動開發》的隨書原始碼為例詳細說明如何配置Android驅動開發和測試環境,並且如何使用原始碼中的build.sh指令碼檔案在各種平臺(Ubuntu Linux、Android模擬器和S3C6410開發板)上編譯、安裝和

Windows下Java環境配置,tomcat安裝

配置 錯誤 javac images 環境 http blank 操作 targe 軟件151 盧煒傑 問題描述:在Windows下面做Java web相關的項目的時候,Java和tomcat是基礎,這裏記載一下Java環境的配置以及tomcat的安裝和配置。 使用工

windows下nodejs環境配置

lis func alt 安裝 pat logs ejs targe 技術 一、下載 去nodejs下載node.msi安裝文件包,裏面包含了node.js和npm; 雙擊node.msi就行了,選擇安裝路徑和npm; 二、設置環境變量 [新版本都不需要設計環境變

windows匯編環境配置

什麽 位置 game 點擊下載 masm 打開文件 alt sta 安裝 原文地址 軟件下載 需要的軟件已經打包,包括dosbox和MASM。如果沒有這兩個軟件可以在下面的地址下載。 http://hjwblog.com/game/匯編環境.zip 點擊下載 安裝dosbo

React Native (android for windows) 第一課 --環境配置 & Hello World

本篇文章的作用在於幫助你快速上手使用React Native編寫android應用。如果你還不太瞭解React Native是什麼以及Facebook為什麼要建立React Native, 安裝Android SDK JDK安裝最新的 安裝Android SDK: 在Linux

dlib庫除錯環境配置經驗

開發環境 系統: windows 10  + Ubuntu 18.04.1 LTS 開發工具: VS2017 其他相關工具:  cmake 概述        為方便學習dlib庫,需要跟蹤原始碼。在此之前使用vs201

Windows的Tex環境配置(TeX Live+WinEdt+SumatraPDF)

杭州電子科技大學碩士論文模板 前言: 利用TeX Live+WinEdt+SumatraPDF編寫大論文,支援中文編碼。 需下載軟體: TeX Live環境配置 若要安裝 TeXLive ,推薦下載 TeXLive 的 ISO 映象,因為線上安裝下載

## **Windows驅動編譯環境搭建(Visual Studio 2017 + WDK)*

*Windows驅動編譯環境搭建(Visual Studio 2017 + WDK) 在Win10環境下開發Windows驅動程式需要依賴WDK,微軟在”WDK7600“以後就不再提供獨立的核心驅動開發包了,而是必須首先安裝微軟整合開發環境VisualStud

Windows下JAVA環境配置

為方便在任何一個頁面更好更快的執行java,需要配置java環境變數,當jvm較多時需要配置JAVA_HOME環境 步驟如下: 1、具右鍵點選我的電腦->屬性->高階->環境變數,修改下面系統變數那個框裡的值就行了。 2、在系統變數下點選【新建】--彈出“新建系統變數”對

Win10下VS2015(WDK10)驅動開發環境配置

1、     概述 微軟在”WDK7600“以後就不再提供獨立的核心驅動開發包了,而是必須首先安裝微軟整合開發環境VisualStudio,然後再從微軟官網下載整合的WDK開發包、或者離線安裝包,但是安裝後Visual Studio就集驅動程式開發,編譯,安裝,部署和除錯

Ubuntu 14.04上驅動開發環境配置,及最簡單一個驅動編寫。

開發ubuntu 14.04 本機使用的驅動程式。 安裝開發工具:* apt-get install build-essential 建2個檔案: 最簡單的驅動程式碼 Hello.c /*0 * hello.c * * Created on: May 14, 2

Linux + ARM驅動開發環境配置(核心配置與編譯)

要想編寫驅動,首先是建立核心目錄樹。 ** 1、檢視ARM開發板的核心版本 ** uname -a 我的arm開發板的版本是3.4.39 ** 2、安裝必要的軟體包 ** sudo apt-get install build-essentia

Go語言Windows系統開發環境配置

部落格《為什麼Go語言在中國格外的”火”》分析了為了中國的程式設計師對Go語言情有獨鍾。 部落格《Go語言的前世今生》簡單介紹了Go語言的發展歷程。 按照套路,本應該還有一篇部落格寫Go語言的優勢。但目前不會這麼做,我想大家更應該的是在學習使用Go語言的過程

windows下JDK環境配置與Android SDK環境配置

一、JDK環境配置1、配置變數名:JAVA_HOME變數值:jdk安裝的絕對路徑。變數名:Path(在系統變數中找到並選中Path點選下面的編輯按鈕,不要刪除原本變數值中的任何一個字母,在這個變數值的最前面輸入)變數值(Path前加入):  %JAVA_HOME%\bin;%

RabbitMQ for windows 安裝以及環境配置

RabbitMQ 安裝以及環境配置 RabbitMQ 基於 Erlang OTP 平臺,在安裝RabbitMQ之前需要安裝配置好 Erlang 環境 Erlang 安裝以及環境配置 首先,下載Erlang,點選進入下載頁面,具體下載的版本隨當前系統

window 核心驅動開發環境配置

wdk 安裝 vmware boot.ini Xp /noexecute=option /fastdetect /debug /debugport=com_1 /baudrate=115200 or /noexecute=option /fastdetect /debug /de

Windows R語言環境配置

1.R語言的環境配置比較簡單,直接在官網上下載安裝包然後安裝即可,不需要配置環境變數. 下載地址:https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 初始安裝只

systemtap安裝&核心除錯環境配置

我是在ubuntu下安裝的,所以轉至這個網頁: 1.systemtap的安裝 systemtap的安裝是很簡單的,一條命令足以: $sudo apt-get install systemtap 此時,你執行如下測試命令: $sudo stap -ve 'probe