C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: Release版だとフリーズする原因


(過去ログ 110 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■65528 / inTopicNo.1)  Release版だとフリーズする原因
  
□投稿者/ polon (1回)-(2013/03/06(Wed) 00:23:26)

分類:[.NET 全般] 

debug版で正常に動作するwindowsアプリを作成しました。

Release版のexeで同様の作業を行うと、全ての処理が完了した最後にフリーズして応答なしになってしまいます。
(Release版でブレークポイントをつけて実行してみると正常に動作します。。)

アプリ自体の処理は、実行ボタンを押すとバックグラウンドで外部アプリを起動して処理を行うというものです。
その処理は全て正常に処理が完了しています。

最後の最後でフリーズしてしまう原因はなにがあるのでしょうか?
宜しくお願いしますm(__)m

環境は、C# .NET framework2.0です。
引用返信 編集キー/
■65529 / inTopicNo.2)  Re[1]: Release版だとフリーズする原因
□投稿者/ Azulean (107回)-(2013/03/06(Wed) 07:30:55)
Release 版だからという部分はどのような状況なのでしょうか。

・Release ビルドの exe からの実行で再現し、ブレークポイントなしの Release ビルドの Visual Studio からのデバッグ開始の環境では再現しない。
 →JIT 最適化による影響か?
・Release ビルドの exe からの実行とブレークポイントなしのデバッグ開始で再現し、ある場所でブレークポイントを設定すると再現しない。
 →タイミング依存の問題か?

さて、フリーズしたときに Visual Studio のデバッグ → すべて中断をすると、呼び出し履歴はどうなっているのでしょうか。
exe 実行からしか再現しないのであれば、Visual Studio の ツール → プロセスにアタッチで、一覧から対象の exe を選び、デバッグの種類でマネージが対象になっていることを確認してアタッチしてから中断させてください。
そうすれば、どこで止まっているかを確認できるでしょう。
引用返信 編集キー/
■65532 / inTopicNo.3)  Re[1]: Release版だとフリーズする原因
□投稿者/ オショウ (66回)-(2013/03/06(Wed) 08:48:34)
> debug版で正常に動作するwindowsアプリを作成しました。

  Debug版だと、内部的にいろいろ調整されてしまう為、Release版だと異常となる
  ケースが結構あります。暗黙的変換とか多用してません?

  正常に動作しているように見えている方が実際には間違いで・・・
  なかなか問題点の探しようがないのですが、型変換とかしている部分を入念に見
  直して見て下さい。

以上。
引用返信 編集キー/
■65535 / inTopicNo.4)  Re[1]: Release版だとフリーズする原因
□投稿者/ とっちゃん (54回)-(2013/03/06(Wed) 10:57:46)
とっちゃん さんの Web サイト
No65528 (polon さん) に返信

> アプリ自体の処理は、実行ボタンを押すとバックグラウンドで外部アプリを起動して処理を行うというものです。
> その処理は全て正常に処理が完了しています。
>
> 最後の最後でフリーズしてしまう原因はなにがあるのでしょうか?
> 宜しくお願いしますm(__)m
>
バッググラウンドで処理をしているということなので、一般的なマルチスレッド処理における
デッドロックについて、まずは調べてみるとよいと思います。

引用返信 編集キー/
■65550 / inTopicNo.5)  Re[1]: Release版だとフリーズする原因
□投稿者/ キム (10回)-(2013/03/06(Wed) 19:52:17)
No65528 (polon さん) に返信

最適化絡みの問題な気がします。
volatile キーワードを適切に使っていますか?
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -