在我最近的一个程序中,我遇到了一些令人担忧的随机崩溃/关机崩溃,在剥离之后我想我已经将它缩小到一个 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/