Main Contents
2009年05月20日
起動しない現象
S製作所向け設備監視プログラムが、最近のWindows Update頃から起動しなくなったらしいと上司から言われ調査していました。
特にDLLのバージョンに敏感になるような変なこともしてませんし、そもそも手元の環境では何の不具合もありません。
社内にあった何台かで試してみたんですが、
Vista x64 (開発環境) → 正常起動
Windows 7 (x64) → 正常
XP Pro (x32) → 正常
同僚Kの Vista機 → BSOD
上司の Vista機 → 正常
バイト用 Vista機 → 正常
特に再現しないようです。
同僚Kマシンはいろいろ変だから気にしない。
わからないまま二日。
怪しいコードなんか一切ありませんし。
一度現地を見てこようと思い、問題となる場所を見つけるために起動部分に進行状態をデバッグ用ログファイルに落とすコードをたくさん書きくわえていたんですが、突然ひらめく。
画面の最大化状態をプログラムを終了しても覚えているように改良したんですが、その部分のコードを共有しているT社向けに作った別プログラムで、画面が出てこなくなったっていう訴えがあったこと。
最大化したままプログラムを終了すると、次回起動したとき最大化表示されるんですが、最小化表示のまま終了すると、次回起動時にプロセス自体はタスクマネージャで確認できるけれど、フォーム表示されないだけでなくタスクバーにもでてこない状況が発生してしまう不具合に気付きました。
これが起動できなくなったよう見えた理由でした。
WindowsUpdate なんて聞いちゃったから、かえって原因発見から遠ざかってたんですよね。
とりあえず、FormCreateイベントの最後で、フォームが最小化状態だったら標準サイズにするようコードを加えて解決。
- by umedak
- at 2009年05月20日 10:34
- in Works