http://blog.csdn.net/shuilan0066/article/details/8738035

分类:            调试错误信息2013-03-29 19:08492人阅读评论(0)举报

1 error BK1506 : cannot open file '.\Debug\????????.sbr': No such file or dire

解决方法:

从工程->设置->浏览信息->创建创建浏览信息的复选框的勾给去掉就行了

工程---属性---C/C---Browse Information -----Enable Browse Information  设置为NONE

2 在资源视图中,打开资源文件时,跳出Runtime Error     This application has requested the Runtime to terminate it in an unusal way .

解决方法:

将工程下的.aps文件删除就可以了

3 debug下 对话框跳出 Release下对话框初始后没有跳出

经测试,有一个函数未做调用失败处理,导致下面的数组索引为负值

两个版本的不同,很多情况是数组过界等引起的

DEBUG版本未做优化    RELEASE版本进行了优化, 若两者不同,很可能语句不安全引起的。

4 ~CCmdTarget()  断言错误

  1. CCmdTarget::~CCmdTarget()
  2. {
  3. #ifndef _AFX_NO_OLE_SUPPORT
  4. if (m_xDispatch.m_vtbl != 0)
  5. ((COleDispatchImpl*)&m_xDispatch)->Disconnect();
  6. ASSERT(m_dwRef <= 1); //此处出现断言错误
  7. #endif
  8. #ifdef _AFXDLL
  9. m_pModuleState = NULL;
  10. #endif
  11. }
CCmdTarget::~CCmdTarget()
{
#ifndef _AFX_NO_OLE_SUPPORT
if (m_xDispatch.m_vtbl != 0)
((COleDispatchImpl*)&m_xDispatch)->Disconnect();
ASSERT(m_dwRef <= 1); //此处出现断言错误
#endif
#ifdef _AFXDLL
m_pModuleState = NULL;
#endif
}

但是通过调试,没找到问题 ,于是重新编译了下,就正常了

遇到稀奇古怪的错误时,可以先把工程 重新清理编译下,看看是否还有问题

5如何禁用 VS2010 的 vcpkgsrv.exe 运行

VS2010 的 vcpkgsrv.exe(Microsoft Visual C++ Package Server)很烦,会自动运更新,占用相当大的内存(在我的机器中 >150M),而且一般会出现多个,杀掉还会自动出现。其实我们可以很容易禁用它,只要 Disable IntelliSense 即可,位于: Tools - Options - Text Editor - C/C++ - Advanced - IntelliSense - Disable IntelliSense:True

6 资源管理器跑右边了,重置窗口  也不起作用

工具》导入和导出设置>重置所有设置>否,仅重置,从而改写我的当前设置>下一步选择VisualC++默认设置。完成。

7 在析构函数中调用KillTimer(1);  引起断言错误

  1. killtimer函数的源代码:
  2. {
  3. ASSERT(::IsWindow(m_hWnd)); //析构函数里面m_hWnd是无效的,当然assert出错了。
  4. return ::KillTimer(m_hWnd, nIDEvent);
  5. }
killtimer函数的源代码:
{
ASSERT(::IsWindow(m_hWnd)); //析构函数里面m_hWnd是无效的,当然assert出错了。
return ::KillTimer(m_hWnd, nIDEvent);
}

改在OnOK()中调用

8“WriteHuge”: 不是“CFile”的成员

遇到这种情况的解决方法把代码中的ReadHuge换成Read、WriteHuge换成Write即可。

原因是VC++2005及后续VC版本中的CFile没有ReadHuge和WriteHuge成员函数,只在VC6中的CFile才有,不过ReadHuge()函数已被Read()函数代替,WriteHuge()函数已被Write()函数代替

9 数据库打开后,再重新打开后 出现未知错误

经查,竟是DOMODAL 引起的,  将DOMODAL 注释掉 就没有问题了,  实在是奇怪

之好,将数据库的释放  改在了整个程序的结束, 而不是进程的结束, 这样就不需要重新打开了

05-11 13:34