TI中文支持网
TI专业的中文技术问题搜集分享网站

赋值、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,这是为什么?

King Wang1:

是不是开了优化,通常开了优化有些语句就打不上断点。

Muhua Chen:

回复 King Wang1:

优化已经Disabled

还是存在赋值赋不上,而且核1可以正确赋值,核2.核3 赋值结果不对,不知是什么原因,核1 2 3 的代码是一模一样的

jie lei:

调试选项用full symbolic debug

赞(0)
未经允许不得转载:TI中文支持网 » 赋值、if判断语句 加不上断点,运行的时候直接忽略跳过 (6670上运行VLFFT)
分享到: 更多 (0)