gcc/g++的优化让程序无法运行

我实现了一个基于D*-Lite的路径规划算法。

  • 当我没有开启优化时(-O0),程序可以正常运行。但是当我开启优化等级时(-O1/2/3)会导致程序无法终止。
  • 在Visual Studio中,无论是debug模式还是release模式都可以正常运行。

在以上情况中,代码均相同。有没有大佬指点一下,不知道怎么下手解决这个问题。

看看是不是有内存没有初始化,或者指针越界的问题,因为优化的代码可能内存更紧凑,问题更多一些。