0

私はしばらくの間このプログラムを書いていました、そして私はついにそれをテストし始める準備ができています。私の開発マシンでは100%動作しますが、実行されたことのないマシンで試してみたかったのです。それで、私は自分のプログラムをテストコンピュータに渡します。exeをダブルクリックしても、何も起こりませんでした。タスクマネージャーを開いて、再試行しました。プロセスが開始するのを見ましたが、約5秒後に消えました。エラーも例外も何もありません。何が悪いのかを理解しようとするにはどうすればよいですか?私はまだかなり新しいです、そして私はこれが起こったことがありません。助けてくれてありがとう!

編集

前に言及しなかったことをお詫びします。これはwinformsアプリケーションです。

編集2

だから、何が起こっていたのかというと、64ビットOS用のdllを32ビットOSにしようとしていたことがわかりました。Windows XPでは、これによりBadImageFormatExceptionがスローされました。ただし、Windows 7では、前述したように、例外はまったくありませんでした。

4

3 に答える 3

1

これはピクルスです、間違いありません。私は以前にこの種のことをデバッグしなければなりませんでした。

有用な情報の最初のビットは、例外がスローされていないことです。これは、実際のコードのどこかが問題を解決するための鍵であることを示しています。例外をトラップしてサイレントに閉じるか、コードが「通常の」終了条件と見なされる条件に到達し、通常の方法で閉じると見なされるかのいずれかです。

それがどこで、なぜ終了するのかを理解するために、アプリケーションの重要なポイントにデバッグログを追加し、ファイルに書き出すDebug/Traceリスナーコレクションにリスナーをアタッチします。「キーポイント」とは、アプリケーションが終了する(またはウィンドウのメインフォームが閉じる)場所であり、「catch」ブロックまたはエラーイベントハンドラー内にあります。この新しいバージョンをテストコンピューターで実行して、何が得られるかを確認してください。これで、舞台裏でのプログラムの基本的な流れと、どのようなメカニズムでプログラムがシャットダウンするかがわかります。

于 2012-08-30T16:39:52.817 に答える
0

コンソールアプリケーションを実行している場合、それが実行されてから自動的に閉じる可能性があります。コマンドプロンプトを開いて、そこからアプリケーションを実行してみてください。プログラムに出力がある場合は、そのコマンドウィンドウに表示されます。

于 2012-08-30T16:35:52.957 に答える
0

アプリケーションイベントログを確認しましたか?

必要なバージョンの.Netがインストールされていますか?

おそらく、アプリケーション全体でMessageBox.Show( "I failed here ")を呼び出すことで、より多くの例外処理を行う必要があります。

于 2012-08-30T16:35:58.107 に答える