【问题标题】:Easier debugging stl array更容易调试 stl 数组
【发布时间】:2010-04-23 18:45:35
【问题描述】:

在 MSVC++ 中,我有一个向量。

每当您超出向量范围时(在调试模式下,作为“开始调试”启动),当您超出向量范围时,程序会通过一个对话框停止:

Microsoft Visual C++ 调试库 ==== 调试断言失败! 表达式:向量下标超出范围 中止 |重试 |忽视

所以我想要的是 Visual Studio 中的 MSVC++ 调试器在出现越界的那一行停止,而不是给我这个对话框。

当 STL 向量发生越界时,如何使程序正确“中断”并能够单步执行代码/检查变量?

【问题讨论】:

    标签: visual-studio-2008 visual-c++ stl vector


    【解决方案1】:

    通常使用 Visual Studio,您有“重试”选项。这会将调试器带到您的应用程序死亡的行或区域。然后你可以检查堆栈跟踪,看看你为什么越界了。

    【讨论】:

    • 好吧,Retry 并没有真正帮助,因为它把我带到了vector,但不是导致我进入vector 的代码
    • 我指的是如何查看“调用堆栈”窗口以查看导致向量代码的方法
    • 重试通常会将您带到检测到错误的位置,而不是导致错误的位置。正如 Robb 所说,跟随堆栈看看你为什么来到这里。
    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多