自定义USB CDC设备在C#GUI崩溃后丢失
我使用的是win7-64位 我正在为USB CDC设备(用作闪存程序员)开发一个用户界面。我正在添加异常处理程序并不断进行测试,但每当出现问题且程序崩溃时,USB设备就会从设备管理器中消失,并且不会重新连接。我卸载并重新安装了驱动程序(我已经在c#GUI中实现了自动),但这也无法修复它。重置计算机、更改USB端口等也不起作用。。我知道修复它的唯一方法是删除特定PID/VID内容的注册表项,然后拔下USB并重新插入。Windows会重新安装它(因为它仍然有inf文件),并且它工作得非常好。在发布版本中,这不应该是一个问题,但对于测试来说,在这个过程中,这一直是一个真正的问题自定义USB CDC设备在C#GUI崩溃后丢失,c#,usb,registry,C#,Usb,Registry,我使用的是win7-64位 我正在为USB CDC设备(用作闪存程序员)开发一个用户界面。我正在添加异常处理程序并不断进行测试,但每当出现问题且程序崩溃时,USB设备就会从设备管理器中消失,并且不会重新连接。我卸载并重新安装了驱动程序(我已经在c#GUI中实现了自动),但这也无法修复它。重置计算机、更改USB端口等也不起作用。。我知道修复它的唯一方法是删除特定PID/VID内容的注册表项,然后拔下USB并重新插入。Windows会重新安装它(因为它仍然有inf文件),并且它工作得非常好。在发布版
我的问题是为什么会这样 我刚意识到情况比我想的要简单得多。这显然与我的C#程序无关。。。这只是拔下USB电缆的行为,然后它再也不会工作,直到我删除注册表中的某些值。然后我可以插上电源,它可以工作一次,如果不插,它就会停止工作。确切的明显行为是,它在中途播放USB连接音效,然后立即断开连接。它会在设备管理器控制台中短暂显示,但windows似乎能识别并断开连接。更改了PID/VID,该PID/VID适用于2个拔掉/插入=)可能您的设备固件正在做一些有趣的事情。你有USB协议分析仪来验证这个假设吗?您能准确地找出哪些注册表项导致了问题并发布它们吗?当设备不工作时,它是否会出现在“其他设备”或设备管理器中的任何其他位置?我刚刚意识到,要解释我认为的情况要简单得多。这显然与我的C#程序无关。。。这只是拔下USB电缆的行为,然后它再也不会工作,直到我删除注册表中的某些值。然后我可以插上电源,它可以工作一次,如果不插,它就会停止工作。确切的明显行为是,它在中途播放USB连接音效,然后立即断开连接。它会在设备管理器控制台中短暂显示,但windows似乎能识别并断开连接。更改了PID/VID,该PID/VID适用于2个拔掉/插入=)可能您的设备固件正在做一些有趣的事情。你有USB协议分析仪来验证这个假设吗?您能准确地找出哪些注册表项导致了问题并发布它们吗?设备不工作时是否显示在“其他设备”或设备管理器中的任何其他位置?