阅读:1816回复:8
为什么我的驱动程序debug可以,release却不行?
是一个pci板卡驱动,程序用ddk编的,用vc直接编译。编译时debug没问题,生成了sys文件,但用release却通不过了,出现很多错误,不过这些错误全是ntddk.h和wdm.h里面的,这是怎么回事阿,哪位大侠还遇到过,谢了!
还有就是我用debug编译的这个sys安装时,安装过程中电脑就自动重起了,重起后驱动没装上,说什么设备配置有问题,请问这问题又出在哪儿呢? |
|
沙发#
发布于:2003-05-13 10:43
是一个pci板卡驱动,程序用ddk编的,用vc直接编译。编译时debug没问题,生成了sys文件,但用release却通不过了,出现很多错误,不过这些错误全是ntddk.h和wdm.h里面的,这是怎么回事阿,哪位大侠还遇到过,谢了! 那显然是你的驱动有问题才导致不能编译release的 至于是什么问题,因为自己没有遇到过你这种情况,你参考参考: 1、内存没有正确释放或被非法释放 2、硬件资源分配 3、pci接口芯片问题 |
|
|
板凳#
发布于:2003-05-13 16:10
机器为什么重起有很多原因。你可以参看cfg.h头文件。编写驱动布死机是不可能的。至于debug和release的问题,也很好解决,只是你说的不够详细。建议你用windbg,对她了解以后,你说的问题都是很简单的问题,
|
|
地板#
发布于:2003-05-14 09:49
谢过两位了!
是这样,把我的驱动装了后,它自动重起,系统又说找到新硬件,我看设备管理器我的设备的状态是:此设备配置不正确(代码1)。 这句话什么意思啊?我的驱动是哪儿有问题? 硬件应该没问题,因为我用这块cy7c09449pci芯片cypress公司提供的驱动安装上没问题。 |
|
地下室#
发布于:2003-05-14 18:18
看cfg.h的第59行,
#define CM_PROB_NOT_CONFIGURED (0x00000001) // no config for device 这句话的意思是说,在内核的devnode树中,关于你设备状态的记录有错误。 |
|
5楼#
发布于:2003-05-14 21:01
是一个pci板卡驱动,程序用ddk编的,用vc直接编译。编译时debug没问题,生成了sys文件,但用release却通不过了,出现很多错误,不过这些错误全是ntddk.h和wdm.h里面的,这是怎么回事阿,哪位大侠还遇到过,谢了! 既然你用debug的驱动都不能安装,那就是驱动本身问题了,好好看看你的AddDevice。而且重起一般关系到内存分配与释放的问题 |
|
|
6楼#
发布于:2003-06-03 15:54
这个问题不难,关键是你的Vdw_WDM.lib库文件不对,该库文件在生成时有四种build选择分别是:NT_CHECKED,NT_FREE,WDM_CHECKED,WDM_FREE.
你是release版驱动,必须选择FREE。 |
|
|
7楼#
发布于:2003-06-05 20:54
楼上说的没有错,应当是库文件没有编译正确。
|
|
|
8楼#
发布于:2003-06-11 12:40
建议不要用vc编译
|
|
|