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