ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1499回复:10

USB驱动装上后,只要运行我的应用程序,就会死机?????

楼主#
更多 发布于:2004-10-15 17:18
USB的驱动装上后,只要运行我的应用程序就会死机,而我的应用程序非常简单:往中断端点送出一个数据。驱动程序基本上全用DS自动生成的,应用程序改成只写一个数据。各位兄弟姐妹们,帮帮忙!!!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-17 12:29
USB的驱动装上后,只要运行我的应用程序就会死机,而我的应用程序非常简单:往中断端点送出一个数据。驱动程序基本上全用DS自动生成的,应用程序改成只写一个数据。各位兄弟姐妹们,帮帮忙!!!


DS自动生成不表示他没有错误,慢慢找找
可能的内存的违规操作导致系统崩溃
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-17 15:30
谢谢楼上朋友的提示!我再仔细看看程序,希望能找到。
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-27 15:32
楼上的朋友,我的程序是在
status = m_Endpoint2OUT.SubmitUrb(I, pUrb, LinkTo(WriteComplete), pCompInfo, 0);
也就是说往总线驱动传送URB时出问题了,这会是什么原因了,给点建议吧,先谢过了!!!
chinaxine
驱动牛犊
驱动牛犊
  • 注册日期2004-10-22
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-10-28 11:15
楼上的朋友,我的程序是在
status = m_Endpoint2OUT.SubmitUrb(I, pUrb, LinkTo(WriteComplete), pCompInfo, 0);
也就是说往总线驱动传送URB时出问题了,这会是什么原因了,给点建议吧,先谢过了!!!


你怎么知道是这个地方出问题了,怎么调试的?
刚刚接触驱动开发,请多关照
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-10-28 11:29
SOFTICE里在这个地方设了一个断点,程序运行到这儿,接着往下执行就重起了,而且我认为程序会接着执行到WRITECOMPLETE例程中去,我在那个例程里的开始第一个语句就设置了断点,但程序并没执行到那,而是重起了。
能给点好的建议吗!!!
chinaxine
驱动牛犊
驱动牛犊
  • 注册日期2004-10-22
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-10-28 12:21
我才郁闷呢,书上的驱动例子都装不上,装一半就重起.
softice又不会用
刚刚接触驱动开发,请多关照
borderline
驱动牛犊
驱动牛犊
  • 注册日期2004-10-28
  • 最后登录2004-10-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-10-28 13:34
你用Softice在那个地方设置断点,但是运行到此只是重启而不是死机。所以真正的问题不在这里,你再好好调试一下吧。
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-10-28 15:26
To borderline:因为我在这设置了断点,驱动程序运行到这的时候就会停下,我认为如果往下执行的话,应该是写完成例程,我在完成例程下了断点,F5键继续执行的话,如果找我的设想,在完成断点处应该停下才对啊,但现在直接重起了。 我对驱动还只是知道一点点皮毛,尽管看很长时间了,这个问题一直都没解决,帮忙出点建议吧!

如果还有哪位大侠路过的话,也帮帮忙啦!
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-10-28 15:36
To chinaxine,我会的也很少啊,
我现在的调试过程是这样的:进SOFTICE的SYMBOLLOADER后,FILE OPEN 选中要调试的驱动,然后 MOUDLE LOAD,接着CTRL+D进入调试界面,下面也是从这个论坛搜到的,
    F1 --- 显示帮助
  F2 --- 打开/关闭寄存器窗口
  F3 --- 切换当前源码的模式
  F4 --- 回到Windows
  F5 --- 执行
  F6 --- 在命令窗口和源码窗口切换
  F7 --- 执行到光标所在行
  F8 --- 单步执行,如果调用过程,则跟踪进入进程
  F9 --- 在光标所在行设中断点
  F10 --- 单步执行,如果调用过程,则跳过过程
  F11 --- 执行到SS:EIP
  F12 --- 从当前的过程中返回
Shift-F3 --- 改变数据窗口内的数据的格式
Alt-F1 --- 打开或关闭寄存器窗口
Alt-F2 --- 打开或关闭数据窗口
Alt-F3 --- 打开或关闭代码窗口
Alt-F4 --- 打开或关闭监视窗口
Alt-F5 --- 清除命令窗口

比如说你驱动在器件插入时,会进入DRIVERENRTY例程,你在那设个断点的话,就会进入SOFTICE,在这个断点处停下。
哈,希望对你有点帮助了
chinaxine
驱动牛犊
驱动牛犊
  • 注册日期2004-10-22
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-10-28 22:48
To chinaxine,我会的也很少啊,
我现在的调试过程是这样的:进SOFTICE的SYMBOLLOADER后,FILE OPEN 选中要调试的驱动,然后 MOUDLE LOAD,接着CTRL+D进入调试界面,下面也是从这个论坛搜到的,
    F1 --- 显示帮助
  F2 --- 打开/关闭寄存器窗口
  F3 --- 切换当前源码的模式
  F4 --- 回到Windows
  F5 --- 执行
  F6 --- 在命令窗口和源码窗口切换
  F7 --- 执行到光标所在行
  F8 --- 单步执行,如果调用过程,则跟踪进入进程
  F9 --- 在光标所在行设中断点
  F10 --- 单步执行,如果调用过程,则跳过过程
  F11 --- 执行到SS:EIP
  F12 --- 从当前的过程中返回
Shift-F3 --- 改变数据窗口内的数据的格式
Alt-F1 --- 打开或关闭寄存器窗口
Alt-F2 --- 打开或关闭数据窗口
Alt-F3 --- 打开或关闭代码窗口
Alt-F4 --- 打开或关闭监视窗口
Alt-F5 --- 清除命令窗口

比如说你驱动在器件插入时,会进入DRIVERENRTY例程,你在那设个断点的话,就会进入SOFTICE,在这个断点处停下。
哈,希望对你有点帮助了


谢谢啊,好人~,以后要多请教你了
刚刚接触驱动开发,请多关照
游客

返回顶部