|
|
|
|
|
by cecilpl2
1776 days ago
|
|
Well first of all I wasn't using gdb since it's not available on the platform this code was running on. Second, the std::terminate call doesn't get called from the dtor, it gets called from the stdc runtime in the call frame of the throw (with OS code in between). The stack isn't actually unwound at this point, it's more like the stdc runtime is walking up the call stack looking for a landing pad at each frame. Third, I didn't know about how this all worked, so I was trying to piece it all together for the first time. Yes, I saw the throw happen. But the symptom was then that the program just... terminated. |
|
what I mean is that, if you run that in a debugger, you're going to see something akin to this when the crash occurs (and have your ide stop exactly where the offending exception was thrown ; I don't even have to set `catch throw` for this to work): https://ibb.co/hK3skvz - at least on windows, mac, linux. What platform are you running that does not support gdb at all ? pretty much anything that isn't a PIC16F or Z80 supports it..