查找C+静态初始化顺序问题
我们遇到了一些问题静态初始化顺序失败,我正在寻找一种方法来梳理大量的代码,以找到可能出现的情况。对于如何有效地做到这一点,有什么建议吗?
编辑:关于如何解决静态初始化顺序问题,我得到了一些很好的答案,但这并不是我的问题。我想知道如何找到受这个问题影响的对象。在这方面,Evan的回答似乎是迄今为止最好的;我不认为我们可以使用valrun,但是我们可能有一些内存分析工具可以执行类似的功能。这只会捕获问题,只有当初始化顺序对给定的构建是错误的,并且顺序可以随每个构建而改变。也许有一个静态分析工具能捕捉到这一点。我们的平台是运行在AIX上的IBMXLC/C+编译器。