Syscall _exit() on string manipulation
I am using TGX v4.16.1 and CubeIDE v1.8.0. My hardware platform is the STM32429 Eval board.
The code for the hardware backend was autogenerated from either TGX Designer or CubeMx (I do not recall which one at this point).
My issue is that the application is crashing (jumping to the syscalls _exit function) when I use C++ strings in the IDE build but not the build generated by the TGX environment using the gcc makefile.
In my application I am using C++ string variables in a presenter to create formatted content to use when updating the view. What I observe under the IDE debugger is that the strings have an initial allocation of 16 bytes. If I exceed this when I build a string or if I try to manipulate the allocated size, the application crashes. This does not happen with the build generated in the TGX environment - the dynamic allocation occurs as expected.
Below is a screenshot of a code sample and the variable values. This is a simplified version of what the code does. The reserve operation is not a part of my normal application - it is just there for testing.
I am not seeing the RTOS task stack overflow hook being called. I also tried using the TGX linker file with the IDE build and the crash still occurs.
I do not have to use C++ strings, I just found they were convenient for the operations I want to do. If I cannot figure this out I will just convert to c-strings but I would like to understand the issue.
Any thoughts?

