<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>MCUXpresso IDEのトピックRe: MCUX 10.2.1 - C++ exceptions not being caught</title>
    <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803284#M2852</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm doing next to nothing in my Power Manager object constructor.&amp;nbsp; I instantiate a task object (constructor sets an int to 0), a mutex object (constructor calls xSemaphoreCreateMutex()), and a queue object (constructor sets an int to 0).&amp;nbsp; All the other data members are either POD or a std::list or std::vector, which are initialized empty.&amp;nbsp; The body of the constructor is empty.&amp;nbsp; The object is implemented as a singleton, meaning that the only instance of my object is declared static inside a GetInstance() static method.&amp;nbsp; So the Power Manager object should only be constructed on first invocation of the GetInstance() method, which in my test case never happens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, just for giggles, I went to test your theory about the constructor possibly being called in the prologue, prior to main().&amp;nbsp; In order to have something to breakpoint on, I created a uint32_t member named wibble_, then created a method called DoNothing(), which simply sets wibble_ to 123, something that can't be optimized out.&amp;nbsp; I set a breakpoint on the single line of the body of DoNothing().&amp;nbsp; I then added a call to DoNothing() in the body of the constructor, rebuilt my project and debugged it... and wouldn't you know, my program launches just fine.&amp;nbsp; Exceptions work fine at startup, and if I feed the program a bad JSON message, it catches that exception.&amp;nbsp; Also, the breakpoint inside DoNothing() never tripped, because I did not re-enable the initialization of the Power Manager object in main().&amp;nbsp; If I &lt;SPAN style="text-decoration: underline;"&gt;do&lt;/SPAN&gt; re-enable initialization in main(), the breakpoint in DoNothing() does trip; it's called when GetInstance() is called in main(), prior to invoking Init() in the object.&amp;nbsp; It is not called in the system prologue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I comment out the call to DoNothing() in the body of my constructor, then exceptions return to their broken state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This makes no goddamn sense.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Nov 2018 01:23:33 GMT</pubDate>
    <dc:creator>dmarks_ls</dc:creator>
    <dc:date>2018-11-06T01:23:33Z</dc:date>
    <item>
      <title>MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803280#M2848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've recently encountered an issue with my Kinetis K24 C++ project where it appears that unknown conditions cause my project to build in such a way that it's impossible to catch exceptions, and I don't know what's causing this "fragility".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's my test code:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp; static void VerifyExceptions(void) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; try {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw std::runtime_error("Exceptions are being handled normally.");
&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (std::runtime_error &amp;amp;e) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; std::cout &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; "\n";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* If exceptions are not working correctly, then the above statement will
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * cause __cxa_throw() to call terminate() immediately.&amp;nbsp; Testing this at
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * startup assures that any issues with exceptions will be immediately
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * diagnosed during development. */
&amp;nbsp; }&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a call to VerifyException() near the top of my main() function, after I've initialized the console.&amp;nbsp; Normally it prints out the test message and continues.&amp;nbsp; I had been developing quite happily the last week or so, then I committed some updates to one of my program modules yesterday and tested out the code.&amp;nbsp; Suddenly, I'm getting this on my console at startup:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE&gt;terminate called after throwing an instance of 'std::runtime_error'
terminate called recursively&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;This is what my call stack looks like:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="exception_terminate.png"&gt;&lt;IMG alt="exception_terminate.png" src="https://community.nxp.com/t5/image/serverpage/image-id/58305i3E5ECCE2AC8D96C2/image-size/large?v=v2&amp;amp;px=999" title="exception_terminate.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I had first encountered this issue maybe a week or two ago.&amp;nbsp; I have a test module where I can press a couple of keys and send a JSON string to a parser to be processed.&amp;nbsp; The parser is written in C++ and uses exceptions, which my application catches.&amp;nbsp; Somehow, adding one additional test case to my app caused ALL C++ exceptions to fail in this manner, by removing that one test case from my module, the fault went away.&amp;nbsp; I had hoped that was the end of it, but apparently not.&amp;nbsp; I put in this self-check of exception handling as a mineshaft canary for just this reason.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm building my app with Newlib, not Newlib-Nano, since Nano was built with exceptions disabled (for significant code size savings).&amp;nbsp; This is my second project using C++ and JSON parsing on the K24/64; my first was done two years ago on Kinetis Design Studio, and I never had any issues with catching exceptions.&amp;nbsp; What concerns me is how random this issue appears to be.&amp;nbsp; With the code and project in a given state, the executable will build the same way each time, even on another developer's machine (using the same version of MCUXpresso).&amp;nbsp; So it's not tied to my particular workstation; it's tied purely to the code as it exists at that moment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone (NXP or otherwise) explain to me how exception handling could be sabotaged globally simply by the particular object modules that are being built?&amp;nbsp; (If NXP wants to do a ticket-based investigation, I can send our code privately.) Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Win 10 Pro 1803, MCUX 10.2.1, C++11 and C11, linking with Newlib, -fexceptions specified in compiler flags)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:11:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803280#M2848</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2020-11-02T14:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803281#M2849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could it be stack (corruption) related? Catching an exceptions involves unwinding the stack to the catching code. If the stack is corrupted, I can imaging this causing a problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2018 17:11:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803281#M2849</guid>
      <dc:creator>converse</dc:creator>
      <dc:date>2018-11-05T17:11:37Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803282#M2850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It could be, but in this instance, I'm nearly certain it's not.&amp;nbsp; My stack (as allocated in the linker) is 16KB in size.&amp;nbsp; I run my VerifyExceptions() routine during system startup, before I've even allocated any of my threads or other resources, let alone launched the FreeRTOS scheduler.&amp;nbsp; And I've had my full system (with 20+ threads) up and running and handling exceptions just fine.&amp;nbsp; But somehow, by merely adding code to the project (not even code that gets called), it somehow causes the project to build in such a way that ALL exceptions are uncatchable... I mean, my test routine above couldn't be any simpler; there's virtually no stack to unwind.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my current application, I've been developing a "Power Manager" module in the last week.&amp;nbsp; Just for giggles, I #if-zeroed the one line of task/module initialization for the Power Manager in main(), and told MCUX to exclude power_manager.cc from Debug and Release builds.&amp;nbsp; I then built my application, downloaded it, and ran it, and exceptions work just fine; the test routine prints "Exceptions are being handled normally." at startup, and the application handles JSON parsing exceptions correctly.&amp;nbsp; I then tell MCUX to re-include power_manager.cc, but I don't re-enable the initialization of that module; all the code in that module is dormant.&amp;nbsp; I rebuild the project, download, and debug... and exceptions are malfunctioning.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I now have my project in a state where if I merely compile and link in a single code module, without ever calling its code, that can cause exceptions to become uncatchable.&amp;nbsp; This smells like a compiler/linker issue to me, and I hate those.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2018 18:26:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803282#M2850</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2018-11-05T18:26:50Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803283#M2851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Depending on how your class is structured, you class *may* be being called (initialised) even if you do not call it explicitly - for example any contructors or any object initialisations will cause some of your code to be invoked in the startup code (before main() - __libc_init_array). My suspicion is something stack-related, probably&amp;nbsp;caused by something in class initialisation. Try setting some breakpoints in your code (initialisers or constructors etc) to confirm.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Nov 2018 20:01:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803283#M2851</guid>
      <dc:creator>converse</dc:creator>
      <dc:date>2018-11-05T20:01:48Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803284#M2852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm doing next to nothing in my Power Manager object constructor.&amp;nbsp; I instantiate a task object (constructor sets an int to 0), a mutex object (constructor calls xSemaphoreCreateMutex()), and a queue object (constructor sets an int to 0).&amp;nbsp; All the other data members are either POD or a std::list or std::vector, which are initialized empty.&amp;nbsp; The body of the constructor is empty.&amp;nbsp; The object is implemented as a singleton, meaning that the only instance of my object is declared static inside a GetInstance() static method.&amp;nbsp; So the Power Manager object should only be constructed on first invocation of the GetInstance() method, which in my test case never happens.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, just for giggles, I went to test your theory about the constructor possibly being called in the prologue, prior to main().&amp;nbsp; In order to have something to breakpoint on, I created a uint32_t member named wibble_, then created a method called DoNothing(), which simply sets wibble_ to 123, something that can't be optimized out.&amp;nbsp; I set a breakpoint on the single line of the body of DoNothing().&amp;nbsp; I then added a call to DoNothing() in the body of the constructor, rebuilt my project and debugged it... and wouldn't you know, my program launches just fine.&amp;nbsp; Exceptions work fine at startup, and if I feed the program a bad JSON message, it catches that exception.&amp;nbsp; Also, the breakpoint inside DoNothing() never tripped, because I did not re-enable the initialization of the Power Manager object in main().&amp;nbsp; If I &lt;SPAN style="text-decoration: underline;"&gt;do&lt;/SPAN&gt; re-enable initialization in main(), the breakpoint in DoNothing() does trip; it's called when GetInstance() is called in main(), prior to invoking Init() in the object.&amp;nbsp; It is not called in the system prologue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I comment out the call to DoNothing() in the body of my constructor, then exceptions return to their broken state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This makes no goddamn sense.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Nov 2018 01:23:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803284#M2852</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2018-11-06T01:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803285#M2853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Further testing... I made some additional changes and enhancements to my Power Manager object.&amp;nbsp; I compile and debug... and exceptions are broken.&amp;nbsp; So I comment out the DoNothing() call in the constructor, recompiled, and debug.&amp;nbsp; Exceptions work fine.&amp;nbsp; It's like some damn toggle switch in my project.&amp;nbsp; I was wondering if it's some memory alignment thing that's not being handled correctly, but that's pure speculation... I don't know what's causing this.&amp;nbsp; Everything else is copacetic when the project runs fine... heaps (both system and FreeRTOS) are fine, task stacks are well within margin.&amp;nbsp; System stack is 16KB, which should be more than enough for anything that's going on.&amp;nbsp; And this issue can be tested and triggered long before I call the initialization of any of my objects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone else (including NXP) have an opinion on this?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2018 21:03:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803285#M2853</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2018-11-07T21:03:57Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803286#M2854</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, further testing... as I develop my project, I'm obviously adding and removing code as I go.&amp;nbsp; Maybe every 3-4 builds or so, I'll download and find that exceptions are no longer working.&amp;nbsp; To fix this, I simply comment out the DoNothing() line as described above, or if it's already commented out, I re-enable the line.&amp;nbsp; So far, this wacky workaround has been successful 100% of the time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This smells like a compiler/linker alignment issue.&amp;nbsp; I'm grateful that I had the serendipity to find a workaround for this, but it's just that, a workaround.&amp;nbsp; Does anyone at NXP have any interest in sniffing out this problem?&amp;nbsp; Because it's definitely a problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Nov 2018 01:40:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803286#M2854</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2018-11-10T01:40:34Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803287#M2855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't know whether NXP would be interested - they do not write the compiler. The compiler is GCC and NXP just take a build of it from ARM. You may be able to report the problem here:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://developer.arm.com/open-source/gnu-toolchain/gnu-rm" title="https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"&gt;GNU Arm Embedded Toolchain – Arm Developer&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One other thought though - is a different exception being thrown - one that you are not catching? Have you tried to catch 'any' exception, using "catch (...)".&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Unfortunately, (unless you are using C++ 11) you cannot determines what the exception actually is - only that one occurred .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Nov 2018 09:12:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803287#M2855</guid>
      <dc:creator>converse</dc:creator>
      <dc:date>2018-11-10T09:12:51Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803288#M2856</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;NXP should take an interest in this.&amp;nbsp; Their IDE is wholly reliant on GCC as the compiler, so if there's a quality issue with the GNU Arm tools, NXP should be concerned.&amp;nbsp; It would be lazy for them to say "well, that's a GNU Arm issue, we're not going to do anything about this."&amp;nbsp; Thanks for the link to report the issue, though, I might do that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And yes, I have tried the catch-all "catch (...)", and when this problem is manifesting, catch-all will not catch exceptions, either.&amp;nbsp; (I am using C++11, FWIW.)&amp;nbsp; That's why I wrote the test function above the way I did; I throw a std::runtime_error, and I catch an exception of that exact type.&amp;nbsp; If the issue isn't present in that particular build, then that test function works great.&amp;nbsp; If the issue is manifesting, then that function will fail, and ANY attempt to catch an exception will fail, even with a catch-all statement.&amp;nbsp; I have that test function called near the start of my program; if it fails, I notice immediately.&amp;nbsp; Then I just toggle the commenting on that call to DoNothing(), recompile, and voila, it works.&amp;nbsp; If this were stack abuse, I would expect a much less predictable workaround.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Nov 2018 18:13:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803288#M2856</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2018-11-12T18:13:03Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803289#M2857</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FYI, I have made a parallel post over in the Arm forums:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://community.arm.com/tools/f/discussions/11581/gcc-7-2-1-on-cortex-m4---c-exceptions-not-being-caught" title="https://community.arm.com/tools/f/discussions/11581/gcc-7-2-1-on-cortex-m4---c-exceptions-not-being-caught"&gt;GCC 7.2.1 on Cortex-M4 - C++ exceptions not being caught - Software Tools forum - Software Tools - Arm Community&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will update this post if I get additional information over there, and vice versa.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Nov 2018 15:57:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803289#M2857</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2018-11-13T15:57:53Z</dc:date>
    </item>
    <item>
      <title>Re: MCUX 10.2.1 - C++ exceptions not being caught</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803290#M2858</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have finally located a solution, which I describe in detail &lt;A _jive_internal="true" href="https://community.nxp.com/thread/524440"&gt;here&lt;/A&gt;.&amp;nbsp; If you want the quick solution, follow these steps:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Search for the file "exdata.ldt" in your MCUXpresso installation.&amp;nbsp; You should find it in these two locations:&lt;UL&gt;&lt;LI&gt;[MCUX IDE location]\ide\configuration\org.eclipse.osgi\4\0\.cp\Data\linkscripts&lt;/LI&gt;&lt;LI&gt;[MCUX IDE location]\ide\plugins\com.nxp.mcuxpresso.tools.wizards_11.1.0.201909161352\Wizards\linker&lt;/LI&gt;&lt;LI&gt;There is a third location that is a direct link to the "wizards" file location and not a separate copy.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Archive your existing copy of "exdata.ldt" if you wish.&lt;/LI&gt;&lt;LI&gt;Replace it with the copy attached to this post.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's it.&amp;nbsp; In my limited testing, I have found that I no longer need to employ my 50/50 workaround, and everything works normally.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;David R.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Feb 2020 19:59:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/MCUX-10-2-1-C-exceptions-not-being-caught/m-p/803290#M2858</guid>
      <dc:creator>dmarks_ls</dc:creator>
      <dc:date>2020-02-11T19:59:10Z</dc:date>
    </item>
  </channel>
</rss>

