Breakpoints do not trigger on anything besides Main Task

Breakpoints I set in mcuxpresso do not go off on threads other than the main startup code. When a breakpoint should go off instead in the console I get:

PE-ERROR: ERROR: Expected 4 threads but only found 3
PE-ERROR: ERROR: Could not find thread-id 20002CC8 (this a timer related task that is a framework over freertos by nxp but this would vary depending which task I set a breakpoint in)

I am using a PE Micro Universal Multilink and the chip I am trying to debug is a NXP KW41Z.

If any other info would help I would be more than happy to oblige.

Here’s a link to the nxp post I made for more info / project download.
https://community.nxp.com/message/1259633

This sounds like a tools issue rather than a FreeRTOS issue - would recommend asking on NXP or PEMicro forums. Also, if you are using a FreeRTOS aware plug in (sounds like you might from the error messages) then try disabling that as a starting point - if that fixes your issue you can then work out how to re-enable it.

That is what I am starting to think as well. I have a post on the NXP forums but it hasn’t unfortunately gotten me anymore. I will try out your suggestions. Thanks.

So I took the development board for the NXP MKW41Z and cut some traces so I could use that as a programmer (J-Link) instead of the PE Micro and it worked like a charm.

Thanks for the idea. Maybe I can figure out why that is occurring with the PE on the side and post back for someone else’s benefit.

After getting the thread breakpoints to work by switching to a JLink from a Multilink I was able to determine there was a syntax issue in the switch statement made by myself to handle the keyswitches which caused it to always go to the default statement and break out without doing anything. The breakpoints not working on the multilink misled me into thinking many things were not working. Another thing to note is I think I may have been pressing resume debugging and resume all debugging interchangeably causing some of the threads to stay suspended by the debugger. Only using the resume all and getting the breakpoints to work allowed me to see the switch statement not working as intended.

Thanks for taking the time to report back.