2

私は自分のソフトウェアを世界中の数人のユーザーに展開しましたが、今日、そのうちの 1 人がこのエラーが発生したと言いました。自分のマシンでソフトウェアを実行しているときに見たことがなく、他の報告も受けていません。

ユーザーが標準ボタンをクリックすると、次のエラー テキストが表示されます。

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。
x.MainForm.btnCreateOutput_Click (オブジェクトの送信者、EventArgs e)
で System.Windows.Forms.Control.OnClick (EventArgs e)
で System.Windows.Forms.Button.OnClick (EventArgs e)
で System.Windows.Forms.Button。 OnMouseUp(MouseEventArgs mevent)
の System.Windows.Forms.Control.WmMouseUp(Message& m、MouseButtons ボタン、Int32 クリック)
の System.Windows.Forms.Control.WndProc(Message& m)
の System.Windows.Forms.ButtonBase.WndProc( Message& m)
System.Windows.Forms.Button.WndProc(Message& m)
で System.Windows.Forms.Control.Control.ControlNativeWindow.OnMessage(Message& m)
で System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd、Int32 メッセージ、IntPtr wparam、IntPtr lparam) で

このメッセージをどうすればいいのか、よくわかりません。

私はbtnCreateOutput_Click文字列の作業をするだけで、関数のパラメーターを何にも使用しません。

ソフトウェアには同様の機能がたくさんあり、このボタンでのみエラーが発生するようです。

4

5 に答える 5

1

まず、例外をキャッチし、特定のエラーを取得します....

接続文字列が間違っていて、接続オブジェクトが初期化されていないことが原因である可能性があります(アプリケーションが接続オブジェクトを使用している場合...)。

于 2012-05-28T06:51:14.160 に答える
0

内部btnCreateOutput_Clickに問題があり、どの行が例外の原因であるかを確認するには、.pdb をインストーラーに添付すると、ソース内のどのファイル/行が無効であるかの詳細情報を取得できます。

于 2012-05-28T06:43:05.657 に答える
0

最初のチャンスの例外処理を有効にすると、実行が発生した正確な行にVisual Studioヒットします。

ここを見て:

Visual Studio で最初のチャンスの例外を有効にする方法

編集

これがクライアント側でのみ発生する場合は、次の処理を利用してください

AppDomain.UnhandledException イベント

デバッグ情報を追加し、完全なスタック トレースをログに記録します。

特定のクライアントで統計的に発生した場合、私がすることは(問題が発生した方法をすでに手にしているので)、考えられるすべてのnull条件をログに記録し、そのバージョンをクライアントに提供することです。ログファイルで例外が発生した後、作業する情報が確実に増えました。

イベントハンドラで発生する例外は、ユーザーの行動モデルに関連していることが多いため、当然、彼の側でアプリケーションをデバッグすることはできないと思います。

お役に立てれば。

于 2012-05-27T20:10:28.033 に答える
0

最も可能性が高い: 問題は、プロパティを読み書きしようとしている、または初期化されていないオブジェクトの参照のメソッドを呼び出そうとしていることです。

これは確かにマウスではありません。

于 2012-05-27T20:11:06.753 に答える
-1

これは古い質問かもしれませんが、この問題に苦しんでいる人にとって、別の可能な解決策は、マシンにインストールされている .NET バージョンを確認することです。

より正確に言えば、.NET 4.0 Client Profile だけでは十分ではありません。完全な .NET 4.0 をインストールすると、すぐに動作するはずです。もちろん、コードに欠陥がない場合。

それは私のために働いた。

于 2014-10-03T08:58:09.963 に答える