阅读:1499回复:10
USB驱动装上后,只要运行我的应用程序,就会死机?????
USB的驱动装上后,只要运行我的应用程序就会死机,而我的应用程序非常简单:往中断端点送出一个数据。驱动程序基本上全用DS自动生成的,应用程序改成只写一个数据。各位兄弟姐妹们,帮帮忙!!!
|
|
沙发#
发布于:2004-10-17 12:29
USB的驱动装上后,只要运行我的应用程序就会死机,而我的应用程序非常简单:往中断端点送出一个数据。驱动程序基本上全用DS自动生成的,应用程序改成只写一个数据。各位兄弟姐妹们,帮帮忙!!! DS自动生成不表示他没有错误,慢慢找找 可能的内存的违规操作导致系统崩溃 |
|
|
板凳#
发布于:2004-10-17 15:30
谢谢楼上朋友的提示!我再仔细看看程序,希望能找到。
|
|
地板#
发布于:2004-10-27 15:32
楼上的朋友,我的程序是在
status = m_Endpoint2OUT.SubmitUrb(I, pUrb, LinkTo(WriteComplete), pCompInfo, 0); 也就是说往总线驱动传送URB时出问题了,这会是什么原因了,给点建议吧,先谢过了!!! |
|
地下室#
发布于:2004-10-28 11:15
楼上的朋友,我的程序是在 你怎么知道是这个地方出问题了,怎么调试的? |
|
|
5楼#
发布于:2004-10-28 11:29
SOFTICE里在这个地方设了一个断点,程序运行到这儿,接着往下执行就重起了,而且我认为程序会接着执行到WRITECOMPLETE例程中去,我在那个例程里的开始第一个语句就设置了断点,但程序并没执行到那,而是重起了。
能给点好的建议吗!!! |
|
6楼#
发布于:2004-10-28 12:21
我才郁闷呢,书上的驱动例子都装不上,装一半就重起.
softice又不会用 |
|
|
7楼#
发布于:2004-10-28 13:34
你用Softice在那个地方设置断点,但是运行到此只是重启而不是死机。所以真正的问题不在这里,你再好好调试一下吧。
|
|
8楼#
发布于:2004-10-28 15:26
To borderline:因为我在这设置了断点,驱动程序运行到这的时候就会停下,我认为如果往下执行的话,应该是写完成例程,我在完成例程下了断点,F5键继续执行的话,如果找我的设想,在完成断点处应该停下才对啊,但现在直接重起了。 我对驱动还只是知道一点点皮毛,尽管看很长时间了,这个问题一直都没解决,帮忙出点建议吧!
如果还有哪位大侠路过的话,也帮帮忙啦! |
|
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,在这个断点处停下。 哈,希望对你有点帮助了 |
|
10楼#
发布于:2004-10-28 22:48
To chinaxine,我会的也很少啊, 谢谢啊,好人~,以后要多请教你了 |
|
|