程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 用VToolsD開發一個簡單的VxD

用VToolsD開發一個簡單的VxD

編輯:關於VC++

這一次,我們講一下如何用VToolsD開發一個最簡單的VxD,以及用SoftIce進行源程序級的調試。

VToolsD的使用

在VtoolsD中,有一個最重要的VxD開發工具:QuickVxD。QuickVxD可以為我們自動生成VxD源程序框架,而且QuickVxD提供了許多VxD的特性選項,例如可以選擇要生成的VxD是動態加載的或是靜態加載的,要使用的編程語言是C還是C++等等。

我們要利用QuickVxD自動生成的是一個可動態加載的、基於C語言的VxD框架。之所以選用動態加載的VxD,是為了調試VxD的方便。每次修改代碼,重新編譯連接之後,要使VxD重新生效,如果采用靜態加載的VxD,那就不得不重新啟動電腦,而若采用了動態加載的VxD,那只須使用VToolsD帶的另一個開發工具VxDLoad就可以卸出或重新加載內存中的VxD。之所以采用C語言而不是C++,是因為其簡潔易懂。請按照如圖1~圖4進行選擇。按下Generate Now按鈕,我們就獲得了動態加載的、基於C語言的VxD的源程序。

如果您是按照上一篇文章中講過的VToolsD的編譯環境設置系統,那我們就可以編譯剛才生成的這個最簡單的VxD了。在DOS提示符下輸入指令:

nmake -f myfirst.mak

看一下當前目錄下是否生成了myfirst.vxd,如果有,那我們下面准備對這個VxD進行源程序級的調試。如果沒有,那麼很可能是您的編譯環境沒有正確配置,請找來上一篇文章好好讀讀。

用VxDLoad加載myfirst.vxd(見圖5)

按下Load按鈕,會出現VxD load successfully消息框。

用SoftIce調試VxD

對於SoftIce選單作如下選擇:

(1)File→Open Module選擇我們剛才生成的myfirst.vxd。

(2)Module→Translate,如果Symbol Loader提示無法加載一些asm文件,那就跳過所有的asm文件。

(3)Module→Load。

按下Ctrl+D,進入SoftIce運行環境中(如果您還沒有按照上一篇文章中安裝SoftIce的話,那就無法再進行下面的測試)。輸入如下指令:

:file

myfirst.c

:file myfirst.c

這時,在SoftIce中,您將會看到myfirst.c的源程序。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved