2014年6月3日 星期二

Program crash without WER dialog

在 XP 上很容易發生 process silent death,
因為在 XP 上做 error reporting 的機制是由 crashed process 負責,
所以只要將 stack 搞爛, 就可以讓 WER dialog 不顯示
甚至註冊的 unhandled exception handler 也不會被執行

但是在 Vista 之後, 實作 error reporting 的機制移到另外的 process 中, 所以在 XP 上
讓 process silent death 的方式在 Vista 之後就不行了
不過如果搞爛 stack, 雖然有 WER dialog,
但是 unhandled exception handler 不會被執行
猜測是因為 unhandled exception handler 的執行也需要 stack,
但是既然 stack 爛掉了, 自然也就無法執行

Reference:
http://stackoverflow.com/questions/14195327/how-to-crash-a-process-on-windows-7-without-getting-the-wer-dialog

沒有留言:

張貼留言