I have a general question on Call Stack of Embedded uCs.
The Call Stack should include all the Active Sub-routines.
For example, in the following sequence:
Func 1 Starts -- Call Func2 --> Func 2 Starts -- Call Func3 --> Func 3 Starts --> YOU ARE HERE
The Stack should include the Return Addresses of Func 2's Body and Func 1's Body,
Right?
At any certain moment (e.g. when the uC experiencing a SW Bug), Is it possible to have the uC to get all the Active Sub-Routines from the Stack and print them (e.g. for knowing it at the moment of Bug)?
It'd help me debug failures, when I don't work with a Debugger.
I know that Debuggers do that - i.e. show you the Call Stack at each moment - So I am wondering if I can get the uC to to it for me every time a bug occurs.
You might be able to get a core dump from the controller, but this is dependent on the controller and development environment. It isn't a language thing.