5

私はVB6アプリを持っています。.NET コードを呼び出しています。.NET コードは、設計により例外をスローすることがあります。

VB6 には、.NET コードを呼び出す関数に On Error Goto ステートメントがあります。.NET が例外をスローすると、VB6 コードは (Goto ブロックで) エラーを処理し、Err.Description をログに書き込み、Err.Clear を呼び出し、その方法で処理を続行する必要があります。

これは、Visual Studio 6.0 から VB6 アプリを実行している場合、(前述のように) 正常に機能し、期待どおりに機能します。コンパイル済みの exe から VB6 アプリを実行すると、VB6 ログ ファイルに予期されたエラーが表示されますが、エラーが発生した後、VB6 アプリがしばらくハングし、予期せずクラッシュします。Event Viewer には APPCRASH レポートすらありません。

これをトラブルシューティングする方法についてのアイデアはありますか?

4

1 に答える 1

1

そうではないと言っていても、スレッドの問題のように聞こえます。私はProcessExplorerのようなツールから始めて、呼び出しが行われたときにどのスレッドが作成されるかを監視します。不注意である可能性があります。

次に、.NETコードからの正常な戻りもログに記録します。コードでエラーが発生する可能性があります。

于 2012-06-11T17:07:56.883 に答える