【发布时间】:2014-02-11 13:52:24
【问题描述】:
我的主函数创建了一个 ClassA 对象,该对象又创建了一个线程,该线程定期调用 ClassA 对象的函数。我的问题是,当我在没有优化的情况下调用 make 时,生成代码运行良好,但使用 -O2 优化时,我得到了一个段错误+++ killed by SIGSEGV +++。你知道我应该检查什么才能让它使用 -O2 选项运行吗?
【问题讨论】:
-
我们需要看代码来帮助你的代码。
-
运行
valgrind的helgrind和memcheck工具来检查多线程问题和内存问题。 -
一个好的开始是检查您是否正确初始化所有内容,并仔细检查您的所有内存写入是否“允许”(不超出限制)。并向我们展示 ClassA 代码 :)