This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

赋值、if判断语句 加不上断点,运行的时候直接忽略跳过 (6670上运行VLFFT)



开发板TMDSEVM6670LE上运行VLFFT例子

我把msg->mode从枚举类型改为UInt32

在程序的600行左右,slave核第一次接收到core0发来的msg,且msg->mode=0

但是图中593行的mode=msg->mode,加不上断点,而且运行的时候直接跳过

 if(mode ==0)也加不上断点,被直接跳过,不进行判断

为什么会出现这种情况?

Ps:

在原代码不变时,即mode是枚举类型。

在expression窗口能看到==左右两边是一样的,但是程序判断为不等,三个if都不能成立

 if(mode == VLFFT_DO_NOTHING)

 if(mode == VLFFT_PROCESS_1stITER)

 if(mode == VLFFT_PROCESS_2ndITER)

通过在if内加printf,如下:

  if()

     {....

   printf();

    }

在4个核直接运行(不设断点)时,printf有输出,程序正常。但是分别调试时,没有printf,这是为什么?