另我头疼。。。如果正在debug一个程序,在推出调试状态时,会不会让调用的dll中的一个线程突然终止?如何能让线程运行完在退出?

guopo 2004-03-19 10:30:41
我的动态连接库涉及到对usb的口读写线程,用户在调用dll并调试时会突然取消调试(shift+f5),这时有时会使程序僵死,我怀疑是在读写USB口时突然终止,造成硬件无法复位,只有重新插拔USB设备,用户觉得不方便。有没有好的办法可以等读写操作完成再推出调试?加临界区不知好用不?哪为高人有这方面的经验?请给指点,谢谢!
...全文
59 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
guopo 2004-03-26
  • 打赏
  • 举报
回复
还不来人,我就结帖了。
guopo 2004-03-24
  • 打赏
  • 举报
回复
up!
GodInNight 2004-03-24
  • 打赏
  • 举报
回复
我发现有5角星的人还是不一样。-D
guopo 2004-03-23
  • 打赏
  • 举报
回复
up
银耳环 2004-03-23
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2876/2876691.xml?temp=.1671564
guopo 2004-03-23
  • 打赏
  • 举报
回复
我不是想调试,我是想如何在用户结束调试(shift+f5)时,再我的dll中作一些处理工作,比如结束当前线程,完成当前操作的api函数。

再帮忙一下,谢谢!:)
Semigod 2004-03-23
  • 打赏
  • 举报
回复
这太简单了,你需要调试时 就Attach to process, 不需要调试时就 Detach from process就完事了。如果这还满足不了你的需要的话,你就用远程调试嘛,远程调试停止调试时,远程的Host机器上的调试器一般可不停止调试而继续运行。
M$的Windows Debugger就很好用啊。
guopo 2004-03-23
  • 打赏
  • 举报
回复
up!
guopo 2004-03-23
  • 打赏
  • 举报
回复
3x! up!
101monster 2004-03-22
  • 打赏
  • 举报
回复
呵呵,UP!
guopo 2004-03-22
  • 打赏
  • 举报
回复
up!
xenke 2004-03-22
  • 打赏
  • 举报
回复
最好修改你的设计,然后谨慎调试,否则你必须理解win32 debug的内部机制,然后对其挂钩.
guopo 2004-03-22
  • 打赏
  • 举报
回复
up!
FireEmissary 2004-03-22
  • 打赏
  • 举报
回复
>>>>>>>>>>>>用户在调用dll并调试时会突然取消调试(shift+f5),
扁这个用户:)
guopo 2004-03-22
  • 打赏
  • 举报
回复
天,我怎么进到win32api中对他钩挂呀,再有我对钩挂一敲不通.:(
guopo 2004-03-21
  • 打赏
  • 举报
回复
faint。。

我加临界量也不行,我发现终止调试后,dll的readfile会出现“io操作正在进行中”的错误,这个错误是怎么造成的,如何避免和消除?请指教。

xiexie!
guopo 2004-03-20
  • 打赏
  • 举报
回复
你是说用__try捕捉对外设操作时的异常,我试试,有问题再向你请教,解决后在加100分相送。
guopo 2004-03-20
  • 打赏
  • 举报
回复
不是对dll调试,是dll中有对外设的操作,我担心在取消调试时,对外设的操作不完全,造成硬件不能复位。

取消调试用__try{}可以捕捉到?能否解释一下?
vcforever 2004-03-19
  • 打赏
  • 举报
回复
>>>>>>>>>>>>用户在调用dll并调试时会突然取消调试(shift+f5),
用户还可以对DLL进行调试?

用临界区应该是可以,不过最好加上个
__try{
//异常终止
}
__finally{
//usb复位
}
结构,试一试!
guopo 2004-03-19
  • 打赏
  • 举报
回复
Up!

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧