我怎么知道程序死在哪里了?线程死了后,我在所有循环的地方都放了断点,可是还是不能捕捉到程序的执行,我该怎么办,我在线程中用了同步,也就是读写保护的同步机制。
解决方案 »
- 【求助】请教几个关于WinCE内存物理地址的的问题
- 数据包监控程序老是提示绑定失败,不知何故!
- VC6 在两个对话框中定义了两个Chart编译出错'CMSChart' : 'class' type redefinition
- 用VC能不能开发火狐或者opera等非IE核心浏览器的插件?
- 程序员给孩子征名
- 谁有vc++ MFC编程实例 vc++MFC扩展编程实例两本书的源码?
- 在浏览负责工程的源代码时,如何从函数定义部分跳转到函数实现部分?急,今天结帐!
- vc如何用最简单的方法将本地的一个文件夹设置位共享,并且是只读共享?
- 为什么我的构造函数不幸?
- 研究过MSDN里DrawCli例程的兄弟请进,谈谈心得。。。。。
- 大秦之剑请进!
- 求实现虚拟磁盘的代码或文档
2 可以排除无限递归的原因;因为递归超过一定层次,系统会报异常错误
3 基本可确定在某处循环时出了问题!好好检查一下代码吧
AcquireWriteLock(&lock);
if (WriteOK(&lock))
{
TRACE("Arrived here!_____");
bIsPicture=Load(pStream);
TRACE("Stopped here!\n");
}
else
{
....
}
ReleaseWriteLock(&lock);
Load(pStream)是一个CPicture类的函数,原型为
BOOL CPicture::Load(IStream* pstm)
{
Free();
HRESULT hr = OleLoadPicture(pstm, 0, FALSE,
IID_IPicture, (void**)&m_spIPicture);
if(SUCCEEDED(hr) && m_spIPicture)
{
ASSERT(SUCCEEDED(hr) && m_spIPicture);
return TRUE;
}
else
{
return FALSE;
}
}
这个函数在我循环中执行了大约50000次,死掉了,郁闷啊!不知道该怎么办了!!!高人们给点指导啊,项目快到Deadline了。