error: Program received signal SIGSEGV, Segmentation fault. (Codeblocks, C++)(2)_图形跟班的博客-CSDN博客
为什么会出现这个错误?
原因是:对“无效指针”进行了操作。
根据,遇到过的问题,经验得知:
导致段错误的“无效指针”有两种:
第一种:指针没有初始化。
(633条消息) 今天遇到了一个SIGSEGV程序崩溃的问题_weixin_34178244的博客-CSDN博客
同时添加日志,发现该崩溃发生在函数返回位置。
说明是老朋友了。就是局部变量过大,导致堆栈段溢出。
把局部变量修改为全局变量后,之前的崩溃位置不在崩溃。
但是崩溃位置变成其他用到这个类型的局部变量的函数返回位置。
经过灵机一动的分析。认为是函数返回的时候,这个类型的析构函数崩溃。
我把std::string给memset了。