Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Eigen::Matrix在调试器中显示错误的值_C++_Visual Studio 2010_Debugging_Qt Creator_Eigen - Fatal编程技术网

C++ Eigen::Matrix在调试器中显示错误的值

C++ Eigen::Matrix在调试器中显示错误的值,c++,visual-studio-2010,debugging,qt-creator,eigen,C++,Visual Studio 2010,Debugging,Qt Creator,Eigen,在调试使用Eigen库(版本3.3.3)的代码时,我得到了矩阵中包含的值的错误值,即使是最简单的代码: Eigen::Vector2d test(1.0, -120.0); 我得到: 这在我的代码中是一致的 我是在MSVC2010和QtCreator调试器中作为RelWithDebugInfo构建的代码 似乎有同样的问题,不幸的是,没有人有答案 谢谢 可能是由于优化。RelWithDebugInfo对于调试来说并不“完美”。您是否正在运行编译代码的发行版或调试版?特别是对于非常简单的

在调试使用Eigen库(版本3.3.3)的代码时,我得到了矩阵中包含的值的错误值,即使是最简单的代码:

    Eigen::Vector2d test(1.0, -120.0);
我得到:

这在我的代码中是一致的

我是在MSVC2010和QtCreator调试器中作为RelWithDebugInfo构建的代码

似乎有同样的问题,不幸的是,没有人有答案


谢谢

可能是由于优化。RelWithDebugInfo对于调试来说并不“完美”。您是否正在运行编译代码的发行版或调试版?特别是对于非常简单的代码,如果编译器发现根本没有使用该变量,则可能根本不会分配实际内存(或对其进行初始化)。尝试在纯“调试”模式下编译。对于更大的项目,试着只启用轻微的优化来编译(我不知道如何为此配置MSVC)。另一种可能性(有时)是将变量存储在
volatile
变量中。但当然,对于生产代码也应该避免这种情况。@AviGinsburg:不幸的是,由于我无法控制的原因,我无法在调试模式下运行该项目。。。RelWithDebugInf是我能得到的最好的。例如,我希望可以手动关闭Eigen中的优化