今日の雑記

生きることでいっぱいいっぱい

アレのその後

だが、一つ問題が解決。いやー Windows(というか Cygwin)と Linux でこうも挙動違うとねーあっはっはー。
今回解決した問題点の具体的な再現例。

  • まずアプリを起動
  • ESC キーで最初に起動したコンソールを閉じる
  • 「CTRL+N」で新しいコンソールを起動しようとした瞬間に落ちる

たったこんだけ。ふんがー。
解決策というか問題点。

  • どうも元のライブラリで定義されている「今前面に出てるコンソール画面」を「ESC で閉じる(<これはライブラリ内標準動作)」と、「閉じてしまったコンソール」が「なくなってしまった(つまり free された)」にも関わらず「何らかの描画をしようとしてた」のが問題。
  • なので、ライブラリ内で「ESC で閉じた」コンソールに NULL を代入。

まあ、たったこれだけで解決。 Linux でも落ちなくなりました。
でもまだ他にも、落ちる原因があるっぽい。↑くらい解りやすい再現手順があれば良いんだけどなあ...。
「valgrind」(<スペル合ってるかな?<調べろよ)の出番かしら。