我正在运行Visual Studio 10,并且在运行时,我的程序声明了以下错误
Debug Assertion Failed!
Program:
(filepath).exe
File: C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\include\algorithm
Line: 2910
Expression: sequence not ordered
我知道这意味着我误用了algorithm
库中的某些函数,但是这条消息给了我算法代码中的一行,而不是我的代码。
有没有一种简单的方法来追踪我滥用此功能的位置以及它的功能?单步执行我的代码不是一种选择,因为这个问题只会偶尔出现,而且我还无法识别何时。
我尝试过简单地从algorithm
库中搜索所有对函数的引用,但这也无助于缩小可能的原因。
我没有提供代码,因为我想要一种寻找错误的一般方法,而不是针对我的情况的具体解决方案。
答案 0 :(得分:4)
断言代码路径仅在调试版本中处于活动状态,并由调试器捕获。在调试器中运行程序,让断言触发,然后遍历堆栈回溯,直到找到你编写的一行代码。