4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WPFアプリ終了時にAccess violationが発生する。

Last updated at Posted at 2022-01-07

開発しているWPFアプリが、終了時にAccess Violationを投げて異常終了していることがわかりました。なんかGoogleIMEが関係しているようなのですが、本当のところはよく分かりません。
環境はWindows10,VisualStudio2019です。

#起こったこと
WPFアプリを開発しているとき、Debugモードで実行中にアプリ側で実行終了すると「プログラムはコード(0xC0000005) Access Violation で終了しました。」と出力されることに気づいた。必ずではなく、出ないときもある。
うううー、デバッグモードでしか出ないし、どっちにしろ終了時なのだから実行に問題ない!! 放っておいても良いかな・・・と頭をよぎったのだが、Windowsのイベントログを見てみたらリリースモードの実行でもバリバリにエラー出ていました。
image.png

#やったこと
とりあえずググったが・・・、英語も含めて情報が少ない!(皆さんお困りではないのか?)
見つけたのがこの記事。
https://qiita.com/MiyakoG/items/9898c41c12cf948eda39

「プロジェクトのプロパティ>デバッグ>ネイティブ コードのデバッグを有効にする(T)」にチェック

で実行したところ、GoogleIMEの名前がついたDLLが例外を投げているところまで分かった。が、それで行き止まり。

#さらにやったこと
えーい、力技じゃ、ということで、アプリを分解してエラーが出ないところまで戻り、1個づつ組み立てながら発火点を探すという作業・・・。
それで、TextBoxを使うとエラーが出ると分かった。
TextBox?IME?でひらめいたのでした。

#最後に分かったこと
原因はGoogle日本語入力(2.25.3700 現時点の最新)でした。IMEをMicrosoft IMEに切り替えたら直りました。おわり。実害はないけど前から出ていたのかなあ?不思議です。
なお、TextBoxのIME無効化スイッチは効果ありませんでした。

#やっぱりなんかおかしい
その後いろいろ試しているのですが、他のPCで実行するとAccess Violationではなく、0x4000001fで終了したり、そもそもWindow+TextBoxだけのアプリでは落ちなかったりするので、まだ調査いるみたいです。
今のところGoogleIMEを外すと問題なくなるという点だけは確実ですが。

4
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?