Debugging interrupt callback with MQX Lite crashes

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Debugging interrupt callback with MQX Lite crashes

跳至解决方案
2,166 次查看
davidsherman
Senior Contributor I

Not sure if this is specific to KDS, MQX-Lite, or OpenSDA, but if I stick a breakpoint inside an interrupt callback while debugging an MQX-Lite application in KDS using OpenSDA, it hits the breakpoint and crashes.  No continuing at that point, I can't examine variables or do much of anything.  If I remove the breakpoint, the callback works fine and does what it should.  This is on a FRDM-KE06 with KDS 1.0.1 beta.  KDS stays alive, but I have to stop the debugger and cycle power on the FRDM-KE06 to restart.

标签 (1)
0 项奖励
回复
1 解答
1,766 次查看
BlackNight
NXP Employee
NXP Employee

Hi David,

not sure if your problem is the same thing what I was facing recently?

In my case the debugger was blocked in some cases while debugging an interrupt service routine.

The solution was to add

set backtrace limit 20

to the GDB options. this is described too in the KDS V1.1.0 release notes:

  • ENGR00316447, SO66: Breakpoints inside ISR: The debugger is sometimes confused when hitting a breakpoint inside an interrupt service routine / exception handler and produces a lot of memory reads and output, effectively blocking debug operation. The issue seems to be related to some assembly instructions (https://community.freescale.com/thread/327560)
    Workaround: Add
    set backtrace limit 20
    to the gdb list of 'Command' in the debug/launch configuration (the value of 20 is an arbitrary number, but should be a small number), see https://community.freescale.com/thread/327560.

Erich

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,767 次查看
BlackNight
NXP Employee
NXP Employee

Hi David,

not sure if your problem is the same thing what I was facing recently?

In my case the debugger was blocked in some cases while debugging an interrupt service routine.

The solution was to add

set backtrace limit 20

to the GDB options. this is described too in the KDS V1.1.0 release notes:

  • ENGR00316447, SO66: Breakpoints inside ISR: The debugger is sometimes confused when hitting a breakpoint inside an interrupt service routine / exception handler and produces a lot of memory reads and output, effectively blocking debug operation. The issue seems to be related to some assembly instructions (https://community.freescale.com/thread/327560)
    Workaround: Add
    set backtrace limit 20
    to the gdb list of 'Command' in the debug/launch configuration (the value of 20 is an arbitrary number, but should be a small number), see https://community.freescale.com/thread/327560.

Erich

0 项奖励
回复
1,766 次查看
davidsherman
Senior Contributor I

Yes!  This seems to be the same problem.  I added that line to the debugger options, and this seems to fix it completely.  Much appreciated!

0 项奖励
回复
1,766 次查看
trytohelp
NXP Employee
NXP Employee

Hi David,

It seems the problem has been logged in Service request too under the 1-1596204421 number.

I will check with the owner of this SR.


Have a great day,
Pascal

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复