C ++函数在调用时崩溃(类构造函数)

时间:2012-03-21 11:39:47

标签: c++ function gdb crash kdevelop

[改动] 我有一个非常奇怪的错误。我的调试器在调用使用std :: string的函数时曾经崩溃。 我认为这是一个错误我的代码,起初我没有意识到,它必须用std :: strings做一些事情。无论如何,我现在知道它必须与KDevelop做一些事情,因为如果我编译这个小测试文件:

#include <iostream>
#include <vector>
#include <string>

int main(int argc, char **argv) {
    std::cout << "Hello, world!" << std::endl;

    std::string test = "test test";
    std::cout << test;
    return 0;
}

它打印“测试测试”,但是当我尝试调试它时,它也会在main()调用时崩溃。 无论如何,我可以使用nemivar调试我的项目,nemivar也使用GDB作为后端,没有错误。

所以这对我来说不再是问题,可以删除。

1 个答案:

答案 0 :(得分:1)

search_str_in_vector()函数中,取消引用不允许的end()迭代器并导致未定义的行为。你的for循环也是一个大于向量的元素(从vector.size()-1开始)。