windbg linux内核调试,windbg调试虚拟机XP系统
一、先介紹一下被調試的虛擬機系統環境:
虛擬機:vmware workstation 10.0版本
虛擬機操作系統: Microsoft windows xp professional 2002 service pack3
cpu:2.8GHz,2.64GB內存
二、這個沒有直接關系。做個筆記而已。
1.在XP系統中,創建了一個first.c文件
測試代碼如下:
#include
void DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint("first:Our driver is unloading....\r\n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
DbgPrint("first:Hello,my salary!");
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
2.添加無后綴makefile文件
內容如下:
!IF 0
Copyright (C) Microsoft Corporation, 1999-2002
Module Name:
makefile.
Notes:
DO NOT EDIT THIS FILE!!! Edit ./sources. if you want to add a new source
file to this component. This file merely indirects to the real make file
that is shared by all the components of Windows NT (DDK)
!ENDIF
!INCLUDE $(NTMAKEENV)\MAKEFILE.DEF
3.添加一個SOURCES無后綴文件
內容如下:
TARGETNAME=first
TARGETTYPE=DRIVER
SOURCES=first.c
4.windows driver kits---WDK 6001.18001--Build Environments--windows xp---Launch Windows XP x86 Checked Build?Environment
5.在控制臺窗口輸入build命令,生成sys文件。
6.使用SRVINSTW.EXE安裝first.sys驅動。(選項為設備驅動)
=============================================================================================
三、開始設置被 調試機(虛擬機和xp系統的設置)
設置中添加一個串行端口:使用命名管道。
設置參數如下:
使用命名的管道:
參數1:\\.\pipe\com_1
參數2:該端是客戶端
參數3: 另一端是應用程序
如圖:
在虛擬機XP系統中,把隱藏的boot.ini文件調出來,
修改如下:
[boot loader]
timeout=20
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug/debugport=com1 /baudrate=115200
其實就是添加最后一行的內容.再重啟系統時,就會出現調試選項
虛擬機的設置到此完成.
接下來是調試機(物理機系統):
window 10 專業版 64位
windbg 安裝后,復制了一個快捷圖標到桌面了。在屬性目標中設置了參數:
"D:\Program Files\Debugging Tools for Windows (x64)\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud=115200,pipe
這樣就不需要每次去控制臺輸入命令這么麻煩的操作。
出現了這個很蛋疼的錯誤。
百度了快半天。能找到的就幾個回答。。看了更蛋疼。。
意思就是,可能是已經有其它的com_1管道在。創建的不僅僅是一個com_1.
但是我就這個xp系統有添加串口管道。其它都沒有。。
我又重新的開始從頭到尾的操作一遍。。windbg也下載了好幾個。。都是這么個提示。。
終于在有一次設置管道串口參數的時候。。我忘記了把:該端是服務器 選擇。因為它默認就是,該端是服務器。。我直接設置第三個參數了。然后確定。。
選擇調試。。
接著運行windbg。。
終于成功了。。。。
這是血與淚的教訓。。。
呃。。一直黑屏了。。在kd輸入g
繼續運行。。
最后總結一下,問題其實就出現在參數設置的時候,"該端是服務器"和"該端是客戶端"
<>一書中寫到。。請讀者隨機應變。。隨機應變。。。
總結
以上是生活随笔為你收集整理的windbg linux内核调试,windbg调试虚拟机XP系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: weblogic概览下的上下文根配置_W
- 下一篇: ICML 2019 | 强化学习用于推荐