ncurses を使用していますが、segfault が発生するたびに、ncurses は端末の制御を適切に解放しません (endwin() が呼び出されなかったため)。シグナルハンドラーをセットアップしました:
void handler(int signum) {
endwin();
exit(EXIT_FAILURE);
}
しかし、これの問題は、endwin() の後まで遅延するのではなく、segfault が無視されることです。私は C++ にはかなり慣れていません。最終的にブロックできるように、セグメンテーション違反を例外のようにキャッチできますか? または、ハンドラー内から segfault を再送信する方法はありますか?