我想为我的应用编写一个(或使用现有的)崩溃处理程序。 我遇到的问题是我想要它用于Windows和gcc。
我深深地寻找了这样的解决方案,但只有VS。
到目前为止,我已handler
注册了SetUnhandledExceptionFilter
。
根据我在调用handler
时的观察结果,堆栈是有限的'到我的handler
函数+一些额外的系统函数。
原始堆栈似乎位于其上方(根据原始esp
和ebp
存储在EXCEPTION_POINTERS
传递给我的handler
)。
我试图将当前esp
和ebp
切换为已保存的,但我通常以崩溃结束。
我也试过使用posix' signal
但堆栈的限制方式相同。
答案 0 :(得分:0)
我一直在寻找答案,这就是我所拥有的:
在Windows下应用程序崩溃的情况下,有(至少)两种查找实际堆栈的方法。