在调试步骤中不规则运行

时间:2014-12-19 20:07:13

标签: c++ debugging

我在Eclipse中有一个makefile项目,当我调试程序时,运行步骤的顺序不规律。作为以下函数的一个例子,命令将按以下顺序运行:1,6,1,6,1,...它应该是6,7,8,.....

1    int  get_region(int x, int y, int level, int &region_x, int &region_y, int min_x,int min_y,int max_x,int max_y)
    {
2       int X_distance = max_x - min_x;
3       int Y_distance = max_y - min_y;
4       int steps_x = X_distance / (pow(2,level)) + 1; 
5       int steps_y = Y_distance / (pow(2,level)) + 1;

6       region_x =  (x - min_x) / steps_x;
7       region_y =  (y - min_y) / steps_y;

8       cout << "region_x = " << region_x << "  x = "<< x << endl;
9       cout << "region_y = " << region_y << "  y = "<< y << endl;

10      cout << "****************** get_region function is called  **************"<<endl;

11      return 0;
    }

1 个答案:

答案 0 :(得分:2)

在启用优化的情况下编译代码时的正常行为。编译器重新排列代码以获得更好的性能。

关闭优化功能,使调试更容易。