VB.NET VS2012 を使用して構築された大規模なアプリがあります。時々、アプリを閉じるときにunhandled exception
発生します。非常にランダムで、実行される場合と実行されない場合があります。
エラーは以下です。
System.InvalidOperationException was unhandled
HResult=-2146233079
Message=Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
Source=System.Windows.Forms
StackTrace:
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.BeginInvoke(Delegate method, Object[] args)
at System.Windows.Forms.WindowsFormsSynchronizationContext.Post(SendOrPostCallback d, Object state)
at System.Windows.Forms.AxHost.ConnectionPointCookie.Finalize()
InnerException:
ダンプファイルを作成して、これがどこから発生しているのかを見つけようとしましたが、うまくいきませんでした。デバッガーはNo source code available
. サードパーティ製のコントロールを使用しています。この時点で、コントロールを作成しようとしているものを見つけたいだけです。サード パーティ製のコントロールに問題があり、そのコードがない場合、修正することはできませんが、回避できる可能性があります。しかし、制御を作成しようとしているものを見つけることができません (シャットダウン時)。
クラッシュ ダンプ ファイルの使用方法を説明する多くの Web 投稿を確認しましたが、これを生成しているコントロール (またはコントロールの種類) を特定することができませんでした..種類を知るだけで、それを絞り込むことができます.
少なくともコントロールのタイプまたは元の呼び出し元を取得する方法はありますか?
十分な情報が提供されていない場合はお知らせください。できる限り投稿します。
メッセージの送信元がわからないため、コードを投稿することはできません。
前もって感謝します!
ほぼすべてに try catch ブロックを使用していることを付け加えておく必要がありました。ロギング手順もありますが、ログ ファイルにこれらの例外は見られません。