c语言程序调试时无法启动程序,编译没有异常,调试时报错: 无法启动程序“C:Projects\Driver\mydriver_check\HelloDDk.sys...
當前位置:我的異常網? VC/MFC???編譯沒有異常,調試時報錯: 無法啟動程序“C:Projec
編譯沒有異常,調試時報錯: 無法啟動程序“C:Projects\Driver\mydriver_check\HelloDDk.sys
www.myexceptions.net??網友分享于:2013-01-24??瀏覽:94次
編譯沒有錯誤,調試時報錯: 無法啟動程序“C:Projects\Driver\mydriver_check\HelloDDk.sys
本人學習寫驅動,各位大俠幫幫我。
編譯沒有錯誤,調試時報錯: 無法啟動程序“C:\Documents and Settings\Administrator.
WWW-OD48313AEF7\My Documents\Visual Studio 2005\Projects\Driver\mydriver_check\HelloDDK.sys"。
1. 說明:操作系統為 xp 2002,DDK 2600 ,編譯器是Vs2005
2. 下面是網上找到的VS2005編寫驅動的配置
自己一步步在VS2005配置。在這里列出僅供參考:
預備工作:
1、安裝了DDK(呵呵,說句廢話)。目錄名字最好不要帶空格;
2、在VS2005中選擇 “生成”|“配置管理器” ---在活動解決方案配置中 新建一個方案名(不要Debug、Release);
3、選擇 ”工具“|”選項“菜單 選擇”項目和解決方案“ 選項卡,選擇“VC++目錄”選項卡 在”顯示以下內容的目錄“下拉菜單中選擇”包含文件“菜單 添加”C:\WinDDK\6001.18002\inc\ddk“和
"C:\WinDDK\6001.18002\inc\api" 選擇”庫文件“菜單添加”C:\WinDDK\6001.18002\lib\wxp\i386“
接下來就是工程配置屬性項
4、選擇”項目“|”屬性“ 彈出”屬性頁“對話框 選擇”配置 屬性“選項卡 選擇“C/C++”選項卡
4.1、再選擇”常規“選項卡
1、”調試信息格式“ 選擇 C7兼容(/Z7) 用Z7模式產生調試信息
2、取消顯示啟動版權標志 選擇 是(/nologo) (默認)
3、警告等級 選擇 3 級(/W3)
4、將警告視為錯誤 選擇 是(/WX)
4.2、選擇”優化“選項卡
1、優化 選擇 禁用(/Od)
其他默認即可
4.3 選擇”預處理器“選項卡
1、預處理定義 編輯 WIN32=100;_X86_=1;DBG=1 (WINVER=0x500,是因為你是for 2K的。XP的是0x501,不過不用寫,反正不用VC6了,寫了反而編譯不能通過。)
其他默認即可
4.4 選擇”高級“ 選項卡
1、調用約定 選擇 __stdcall (/Gz) (這個不用說了驅動函數調用采用標準調用”)
5、 好了,輪到”連接器“ 選項卡了
5.1 選擇”常規“選項卡
1、輸出文件 編輯 MyDriver_Check/HelloDDK.sys
2、啟用增量鏈接 選擇 否(/INCREMENTAL:NO)
3、附加庫目錄 編輯 C:\WinDDK\6001.18002\lib\wxp\i386 (因為等下要用到ntosknl.lib 如果是WDM驅動程序,則需要鏈接wdm.lib)
其他選項默認
5.2 選擇“輸入"選項卡
1、附加依賴項 編輯 彈出 ”附加依賴項 “ 編輯框 編輯 ntoskrnl.lib 復選框”從父級或項目默認設置繼承“ 的勾 去掉 (免得 調用 用戶層 lib 文件)
2、忽略所有默認庫 選擇 是(/NODEFAULTLIB)
其他選項默認
5.3 選擇”調試“選項卡
1、生成調試信息 選擇 是(/DEBUG)
2、生成程序數據庫文件 編輯 MyDriver_Check/HelloDDK.pdb
5.4 選擇”系統“ 選項卡
1、子系統 選擇 本機(/SUBSYSTEM:NATIVE)
2、堆棧保留大小 編輯 40000
3、 堆棧提交大小 編輯 1000
4、驅動程序 選擇 驅動程序(/DRIVER)
5.5 選擇”高級“ 選項卡
1、入口點 編輯 DriverEntry (驅動的入口函數地址)
2、基址 編輯 0x10000
3、 目標計算機 MachineX86 (/MACHINE:X86) (一般是這個)
附:使用的ddk 為:wdk 6001.18002 用得是wxp 鏈接庫
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/b_fushuaibing/archive/2009/07/02/4317162.aspx
3. 這是源文件 :
/
extern "C"
{
#include
}
// 驅動程序加載時調用DriverEntry例程
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString)
{
// 請視情況返回DriverEntry例程執行結果
return STATUS_DEVICE_CONFIGURATION_ERROR;
}
/
------解決方案--------------------
你怎么調試的?
------解決方案--------------------
文章評論
總結
以上是生活随笔為你收集整理的c语言程序调试时无法启动程序,编译没有异常,调试时报错: 无法启动程序“C:Projects\Driver\mydriver_check\HelloDDk.sys...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: X265代码学习1-X265源码下载编译
- 下一篇: 【毕设选题】基于C51单片机的毕业设计题