MSVC6:断点停止程序

MSVC6: Breakpoint stops program

提问人:Josh 提问时间:8/12/2008 最后编辑:CœurJosh 更新时间:4/16/2017 访问量:1428

问:

使用 Microsoft Visual Studio 98、Microsoft Visual C++ 6.0 SP6

在调试器下运行时,只有一个问题。如果我暂停程序并恢复,一切都很好。

问题是什么?当我遇到断点时,我的程序将停止。但不是以一种好的方式;执行停止,我从调试模式进入编辑模式。在命中断点之前,一切都很好。我知道它正在命中断点 - 我看到黄色小箭头闪烁,指向正确的代码行、检查窗口中的局部变量和该窗口中的调用堆栈。然后我盯着编辑。

这发生在所有项目中。

我已卸载并重新安装 MSVC6。它没有帮助。

我即将在一台新 PC 上重新开始;在我走那么远之前,有人知道我对这个做了什么吗?


注意:MSVC6 不是我的选择,但有原因。这是我使用的工具。而且,我们以 NT4 为目标,因此鉴于 2008 年不能以 NT4 为目标,而 2005 年在 MFC 和 NT4 方面存在问题,因此 MSVC6 是。

C Windows 调试 Visual-C++- 6

评论


答:

-1赞 Orion Edwards 8/12/2008 #1

我已经多年没有使用过 MSVC6 了,但我记得调试器基本上是一堆垃圾。像这样的事情经常会无缘无故地发生,因为它那天不喜欢你的代码。

除了调试器是一堆垃圾之外,其余部分也是。

它的 STL 实现不是线程安全的,它不支持太多的 C++ 标准,并且 IDE 非常缺乏细节。

我很确定您也根本无法使用过去 5 年的任何版本的 Platform SDK,因为它太旧了,无法理解它们。这不是一件好事。

当有可以免费下载的Visual C++ Express 2008时,你会很生气地继续使用它。

评论

0赞 graham.reeds 11/26/2010
我是投反对票的人。人们通常不会使用 VC6,除非有很好的理由这样做。那些下意识的反应是升级或使用助推器的人惹恼了我,因为它没有帮助。此外,这些帖子是在您可以发表评论之前的几天 - 请注意,我确实在我的帖子中提出了VC2K8EE问题。
1赞 graham.reeds 8/12/2008 #2

停止在 VC6 上跳动。它很旧。STL 于 1996 年根据 1994 年编写的 HP 代码进行了更新。C++ 于 1998 年获得批准。

当你被破坏时,代码在做什么?你能把情况简化成一个简单的测试吗?当我尝试这样做时,我通常会找到原因。如果你能做到这一点,所以它仍然会发生,那么我会为你看一看。我也很幸运地将 VC6 用于我的日常工作。

在某些情况下,Visual C++ Express 2008 不能使用。

0赞 Aidan Ryan 8/12/2008 #3

它是特定于你正在处理的应用,还是任何应用中的所有断点都会破坏调试器?

如果在正常启动应用程序后手动附加调试器,有什么不同吗?

1赞 Jon Clegg 8/22/2008 #4

我要检查的第一件事是这个项目是否在其他机器上做同样的事情。如果没有,可能是你的盒子正在向南走。如果不是,那就是 VC6 项目本身。

通常,当我的程序对硬件(尤其是视频)执行某些操作时,我会对调试器感到愚蠢。

我建议关闭程序的某些部分,直到您弄清楚是哪个部分导致了这种情况。如果您的程序很小并且没有执行太多操作,则可能是项目已损坏,需要重新生成。从头开始创建一个新项目,然后手动放回您的文件和设置。

0赞 Quibblesome 8/22/2008 #5

设备是否内存不足,因此在需要额外内存在断点处停止时放弃幻影?

0赞 Josh 8/22/2008 #6

设备是否内存不足,因此在需要额外内存在断点处停止时放弃幻影?

不,还有超过一千个 RAM 要用,甚至还有更多的虚拟内存。