1

ポートをブロックするためにvc ++でdllを実行しています(tcpスニファーなど)。ローカルマシンでudpポートをブロックしている間、正常に動作します。システムからリモートコンピューターを取得している間、例外が発生します

      "system.NullReferenceException'occurred in system.windows.forms.dll"

私はDLLをC#アプリケーションに組み込みました.あなたの提案をしてください

4

2 に答える 2

0

非常に限られた情報で、私が考えることができる最も可能性の高い原因は次のとおりです。

C# アプリケーションが C++ dll のクラスのインスタンスを作成しようとしていますが、おそらく失敗して NULL ポインターになります。そのインスタンスを介して後でメソッドを呼び出すと、この例外が発生します。

これを解決するには、まずインスタンスが正常に作成されたかどうかを確認する必要があります。

于 2009-12-31T06:29:22.587 に答える
0

この情報を収集して共有しなかったのは残念です。心配無用。これは、検出して修正するのが最も簡単なケースの 1 つです。これは単に、ある参照型の一部のメンバー/変数がそのインスタンス (非静的) メンバーを使用して逆参照されることを意味します。これには、このメンバー/変数が null でないことが必要ですが、実際には null のように見えます。デバッガーで実行するだけで、例外がスローされた場所で実行が停止します。その行にブレークポイントを置き、アプリケーションを再起動して、このポイントに再び来ます。次の行に含まれるすべての参照を評価し、どれが null でない必要があるかを確認します。これを理解したら、コードを修正します。メンバー/変数が null 以外の参照に正しく初期化されていることを確認するか、null をチェックし、null の場合は別のことを行います。

于 2017-07-18T10:28:47.050 に答える