调试时函数返回不同的值

时间:2014-10-24 05:19:33

标签: c++ visual-studio debugging visual-studio-debugging vtk

我有以下代码;

    vtkSmartPointer<vtkPoints> points = doc->m_.points;
    for(int i =0; i<points->GetNumberOfPoints();i++){
        double point[3];
        points->GetPoint(i,point);
    }

我随后将这些点值写入文件。当我正常运行程序(在调试配置中)并检查文件时,在i = 921到i = 950之间,所有节点值如下所示;

    921 -0.86404 -1.56526e+020 1.45676 
    922 -3.22686e-024 1.65049 -1.84038e+018 
    923 -0.688541 -1.17037e+031 1.45647 
    924 3.87651e-010 1.6554 1.05914e-009 
    925 0.813721 8.37409e-010 1.45736 
    926 8.80064e+037 1.6603 9.43973e-033 

但是当我调试这段代码时(在调试配置中)我可以看到GetPoint()返回以下正确写入文件的值;

    921 -0.00132704 -0.00132704 -0.00132704 
    922 -0.00132704 -0.00132704 -0.00132704 
    923 -0.00132704 -0.00132704 -0.00132704 
    924 -0.00132704 -0.00132704 -0.00132704 
    925 -0.00132704 -0.00132704 -0.00132704 
    926 -0.00132704 -0.00132704 -0.00132704 

这怎么可能? getPoint()是一个内部vtk函数。

如果对此问题有任何见解,我将不胜感激。 感谢。

0 个答案:

没有答案