-6

私は非常に経験豊富な C/C++ 開発者であり、ac# プログラムを引き継ぐ任務を負っています。問題のプログラムが少し実行された後、応答しなくなります。閉じ込められている場所を見つけるにはどうすればよいですか?

4

3 に答える 3

3

デバッガーで実行できる場合は、それを中断してから、すべてのスレッド (特にメイン スレッド) のスタック トレースを調べます。それはそれがどこにぶら下がっているかを教えてくれるはずです。

于 2012-09-26T19:13:55.037 に答える
1

デバッグ中にプログラムを実行し、ハングアップし始めたら、IDE で一時停止をクリックして、時間がかかっていることを確認します。アプリの UI のタイプによっては、アプリケーションにスレッドを追加したい場合があります。

于 2012-09-26T19:14:13.490 に答える
0

実行中のプログラムの場合は、デバッガーをアタッチし、それを使用して実行を中断し、コールスタックを調べてプログラムが現在どこにあるかを調べることができます。

自分でプログラムを起動できる場合は、デバッガーでプログラムを実行します。必要なときにいつでもその実行に割り込むことができ、(特にコールスタックを見て) その状態をチェックアウトし、実行を再開できます。

プログラムが実行されているデバッガーにアクセスできない場合は、タスク マネージャーを使用してプログラムのダンプを作成し、ダンプを読み込んで WinDbg.exe でダンプを調べます。を使用して、WinDbg.exe を取得して、プログラムが現在どこにあるかのコールスタックを取得できます!analyze -v

于 2012-09-26T19:18:40.820 に答える