我有两个线程在程序中运行。 它们是使用boost :: thread创建的。奇怪的内存泄漏C++与Eigen和boost ::线程
这两个线程在内存方面不共享任何东西。它们之间没有共享数据结构或对象。
现在第二个线程使用一个类作为私有成员有很多特征双矩阵。 我确保矩阵使用特征指令EIGEN_MAKE_ALIGNED_OPERATOR_NEW等对齐
当第一个线程正在运行时,第二个类的矩阵上的元素将被覆盖。 我通过检查检查过,因为应该是小数的元素突然变成了整数。 当第一个线程没有运行时,第二个线程没有问题,它的Eigen成员具有正确的值。
再次: 1)两个线程不共享数据结构。 2)程序运行时没有分段错误信息或类似的错误信息。 3)任何建议如何保护第二线程的内存或如何跟踪内存是如何被侵犯?
预先感谢您。我很抱歉,我没有发布代码,但它是巨大的。 让我知道你是否希望我发布代码中的特定内容。
这不是内存泄漏。内存泄漏是指分配的内存/对象,而不是释放/删除。这听起来像第一个线程通过伪指针引用内存。这通常发生在一个对象被删除时,但该程序保持一个去活的指针。 – deemer 2012-07-18 19:56:06