一个很奇怪很不好描述的问题,请大家帮忙。

wallimn 2006-08-15 11:16:16
我现在为一个平台写插件(使用VC7.0开发),不知进行了什么操作,致使平台总是无法正常退出(窗口不见了,进程还在)。
  跟踪发现我的插件已经正常退出,在调试状态下,退出平台后,“全部中断”和“停止调试”按钮仍然处于使能状态(如果进程正常退出两个按钮会处于无法点击的状态),我点“全部中断”按钮中止进程,程序总停在mlock.c的文件中的一个位置(下面代码的注释往)。
void __cdecl _unlock (
int locknum
)
{
/*
* leave the critical section.
*/
LeaveCriticalSection( _locktable[locknum].lock );//停止在此处。是个浅绿色的三角符号。不是调试时程序运行位置指示的那种黄色箭头。
}
  请问大家伙有什么好的解决办法吗?提供点思路就行。

=============
  描述得不是很清楚,如何哪位以前遇到过类似问题还请帮分析分析。谢谢。
  
  郁闷得不行了,我该怎么办呀?
...全文
199 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wallimn 2006-08-16
  • 打赏
  • 举报
回复
我后来分析了一下,查看MSDN,发现CString使用的是全局堆,会对并发访问进行串行化。因此,我想我的程序是对CString资源访问死锁造成的。
可以,我怎么也想不明白,什么时候会发生字符串访问死锁呢?
还请大家伙指点一下。
rageliu 2006-08-16
  • 打赏
  • 举报
回复
临界出现了死锁?

15,472

社区成员

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

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