c++ - 在 C++ 中调试 sigtrap

标签 c++ debugging vector random

在我最近的一个程序中,我遇到了一些令人担忧的随机崩溃/关机崩溃,在剥离之后我想我已经将它缩小到一个 SIGTRAP,它在特定情况下创建 vector 时发生。大部分代码可以在这里找到:http://pastebin.com/xp9Cm04Q和这里的瓷砖类:http://pastebin.com/Niv7SSyF (运行 buildworld 子例程时会出现问题)并且可以在此处找到控制台输出 http://pastebin.com/7HyaMke8 .发生这种情况时,调试器会转到 new_allicator,如果这值得了解的话。

另请注意,出于某种原因,删除了对 tiles 中的 rTest 的调用(仅调用该类具有的 RNG),但前提是此后已创建另一个子区域。不用说,我完全不明白为什么会这样。

我是不是在做什么蠢事?我只使用 std 库,所以我不认为我可以安装错误或任何东西。这是我可以/应该忽略的问题吗?非常感谢有关如何解决此问题的任何帮助。

最佳答案

tiles.back().back().giveRGen(&zoneRGen);

一个问题:您的图 block 有一个指向 RNG 对象的链接;该链接将断开,然后 subZone 被复制。例如这里:

allZones.push_back( subZone( x , y , worldRGen() ) );

关于c++ - 在 C++ 中调试 sigtrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40790334/

相关文章:

c++ - 抑制 IE8 中的脚本错误 (C++)

debugging - PhpStorm - 无法评估表达式( watch )

ruby-on-rails - 设置为从 Rails 控制台调用表单助手

java - Apache Velocity Engine 1.7.x 测试失败

c - Realloc:结构动态 vector 中的下一个大小无效

android - 如何从 Android 中 native 编译的 C++ 二进制文件访问相机

c++ - 为什么基于Opencv DNN的(caffe)人脸检测器无法找到人脸?

C++ : copy-and-swap idiom, 替代构造函数

c++ - 如何将文件读入元组 vector ?

arrays - 将 Range 直接映射到 Array