在我的程序中,如果我在发布模式下运行,我会收到std::out_of_range
异常。它在调试模式下运行良好。我使用了很多std::vector
s,因此我猜它来自myvec.at(100)
来电。
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check: __n (which is 100) >= this->size() (which is 100)
由于它没有在调试模式下抛出,我无法捕获异常,因此调试很困难。有没有一种简单的方法来处理这个问题?
另外,我假设我的问题是由一些未定义的行为引起的,因此它在调试和发布时的行为有所不同。那是对的吗?