MSVC6:断点停止程序
使用Microsoft Visual Studio 98,Microsoft Visual C ++ 6.0 SP6
在调试器下运行时,只有一个问题。如果我暂停程序并继续,一切都很好。
问题?当我遇到断点时,我的程序停止。但不是很好;执行暂停,我被排除在调试模式之外而进入编辑模式。一切都好,直到遇到断点。而且我知道它已经到达了断点,我看到一条闪烁的黄色小箭头指向代码的右行,"检查"窗口中的局部变量以及该窗口中的调用堆栈。然后我盯着编辑器。
这在所有项目中都会发生。
我已经卸载并重新安装了MSVC6. 它没有帮助。
我将在新PC上重新开始。在我走那么远之前,有人知道我对此做了什么吗?
注意:MSVC6不是我的选择,但是有原因。这是我使用的工具。而且,我们的目标是NT4,因此鉴于2008年不能定位NT4,而2005年的MFC和NT4,MSVC6存在问题。
解决方案
回答
我已经好几年没有使用MSVC6了,但是我记得调试器基本上是一团糟。像这样的事情经常会在没有明显原因的情况下发生,因为那一天不喜欢代码。
除了调试器是片状的废话外,其余的也是如此。
它的STL实现不是线程安全的,它不非常支持C ++标准,并且IDE严重缺乏优势。
我敢肯定,我们也只能使用过去5年中的任何版本的Platform SDK,因为它太旧了,无法使用它们。不好
你会疯使用它时,有VISUAL C ++ Express 2008的,你可以免费下载,以保持。
回答
停止在VC6上跳动。老了STL在1994年从1994年编写的HP代码中进行了更新。C++在1998年获得批准。
中断时代码在做什么?我们能否将情况简化为一个简单的测试。当我尝试这样做时,通常会找到原因。如果我们可以这样做,但它仍然会发生,那么我将为我们介绍一下。我也很不幸无法在日常工作中使用VC6.
在某些情况下,不能使用Visual C ++ Express 2008.
回答
它是特定于我们正在处理的应用程序,还是某个应用程序中的所有断点都会破坏调试器?
如果我们在正常启动应用后手动连接调试器,有什么不同吗?
回答
我要检查的第一件事是该项目是否在其他计算机上执行相同的操作。如果没有,那可能是盒子向南行驶。如果不是,那是VC6项目本身。
通常,当我的程序对硬件(尤其是视频)执行某些操作时,我会对调试器感到愚蠢。
我建议关闭程序的某些部分,直到我们弄清楚是什么原因引起的。如果程序很小并且没有做很多事情,则可能是项目已损坏,需要重新构建。从头开始创建新项目,然后手动重新放置文件和设置。
回答
设备是否耗尽了内存,因此在需要额外的内存在断点处停止时是否放弃了重影?
回答
Is the device running out of memory and therefore gives up the ghost when it requires the additional memory to stop at the breakpoint?
不,有超过一堆的RAM可用,甚至还有更多的虚拟内存。