Totry 发表于 2011-7-7 19:00:39

坛里有没有用pt的,发现并确定mdk412, 421在编译其代码时有bug

RT

同样的代码,调换某些代码顺序,可能导致程序流失控,pt会重启

同时,单步调试功能形同虚设,光标基本不能指到当前真正在执行的行号上

snoopyzz 发表于 2011-7-7 19:02:17

你是不是把pt相关语句放在switch里了?

Totry 发表于 2011-7-7 19:06:58

我也希望是无意中用了switch

遇到switch都用if替代了

代码未作修改时,用421编译正常,用412编译通过,但执行错误

snoopyzz 发表于 2011-7-7 19:14:26

仔细查查吧....即使断点显示位置不正常.,...但也不是不能查的,

line是可以用watch看得到的...mdk也会显示行号的不是

我用的PT是自己的改进超精简版,只取了核心部分,完全当作匿名状态机在用....并没有发现MDK4.12(我也用这个版本)下PT会不正常

Totry 发表于 2011-7-7 19:35:54

就是watch到lc=0才发现重启了

绝不排除是mdk的bug,目前尚没有好解决的办法,只能通过调整行顺序临时通过测试

另外mdk用的是评估版,估计不存在破_解而引入的BUG

除了pt,printf函数也可能导致缓冲区溢出,直接把控制变量给冲掉,刚排查掉一个BUG与此相关,不排除pt重启与此有关
页: [1]
查看完整版本: 坛里有没有用pt的,发现并确定mdk412, 421在编译其代码时有bug