Debuについて

[戻る]
cu 2006/06/16(金) 09:20:42
cuと申します。

Debuについて質問したいと思っています。
プレークポイントを貼って、
デバックを実行するとそのプレークポイントところに到着するまで、
時間が掛かります(約2-5分ぐらい)
環境: .Net2002 OS Win2000 MFC使用
メモリ: 512MB

同じプログラムはXP上でデバックを実行すると時間が掛からない、
素早くプレークポイントに到着しました。
環境: .Net2002 OS XP  MFC使用
メモリ: 512MB

解決する方法があるのでしょうか。

よろしくお願いします.

REE 2006/06/16(金) 09:40:29
DebuってDebugのことかな?
# 本題は分かりません

PATIO 2006/06/16(金) 09:43:21
システムのDLLのシンボルファイルをネット越しに取ってきていたりすると
重くなると言う話を聞いた事がありますけれど、心当たりはありませんか?
確か、途中からそういうシンボルファイルのマネージャみたいなのが出てきていて
以前にインストールしてみた事があります。

あと、DebuではなくてDebugの間違いですよね。
おそらく。

cu 2006/06/16(金) 10:32:31
ご返事ありがとう。

>あと、DebuではなくてDebugの間違いですよね。
すみませんでした。

説明が不足ですが、

Debug開始から、画面を出るまで、約3-5分。
プレークポイントとプレークポイントの間の
移動時間は約15秒。

>システムのDLLのシンボルファイルをネット越しに取ってきていたりすると
>重くなると言う話を聞いた事がありますけれど、心当たりはありませんか?

やっていないと思います.

確かに、修正によって、ファイル実体が大きくなった、
そういうことがあるのでしょうか。

よろしくお願いします。

ITO 2006/06/16(金) 11:14:29
 ブレークポイントの場所、周りの起動しているアプリケーションの状況に
よって変わります。
 特にスレッド関係のところでブレークさせると時間か掛かるように思います。

  いちようWIN2000でも使えるように書いてありますが、
 6.0 C++ から .netに変わった時から対象のOSがWin2000からWINXP
 に変わった様に思います。

通りすがり 2006/06/16(金) 12:33:26
>>システムのDLLのシンボルファイルをネット越しに取ってきていたりすると
>>重くなると言う話を聞いた事がありますけれど、心当たりはありませんか?
>やっていないと思います.
環境変数NT_SYMBOL_PATHが設定されていたりしませんか?
プロジェクトでシンボルサーバの設定していなくても、
環境変数に書かれているサーバにシンボルファイルを探しに行きます。

cu 2006/06/16(金) 13:18:33
返事ありがとう。

> いちようWIN2000でも使えるように書いてありますが、
> 6.0 C++ から .netに変わった時から対象のOSがWin2000からWINXP
> に変わった様に思います。

.net上でやっています。

>環境変数NT_SYMBOL_PATHが設定されていたりしませんか?
>プロジェクトでシンボルサーバの設定していなくても、
>環境変数に書かれているサーバにシンボルファイルを探しに行きます。

環境変数NT_SYMBOL_PATHをオプションに探したのですが、見つかりませんでした。

よろしくお願いします。

PATIO 2006/06/16(金) 13:45:15
> 環境変数NT_SYMBOL_PATHをオプションに探したのですが、見つかりませんでした。

これは多分、IDEのオプションの話ではなくてOSの環境変数の話なのではないかと
思いますが、そっちにもありませんか?

cu 2006/06/16(金) 16:48:38
返事ありがとう。

>これは多分、IDEのオプションの話ではなくてOSの環境変数の話なのではないかと
>思いますが、そっちにもありませんか?

OSの環境変数の設定をやったことがないので、どこにあるか、わかりません。

よろしくお願いします。

Blue 2006/06/16(金) 16:52:15
> OSの環境変数の設定をやったことがない

環境変数の設定
http://www.noblab.jp/technotes/env_win/setting.html

cu 2006/06/16(金) 18:17:06
返事ありがとう。

>環境変数の設定
>http://www.noblab.jp/technotes/env_win/setting.html

システム環境変数のリストボックスに
環境変数NT_SYMBOL_PATHに載っていない。

よろしくお願いします。

Ban 2006/06/16(金) 18:27:47
どんなコードかまずわからない時点でなんともいえないような。

_DEBUG の ifdef とか、ASSERT, TRACE等に時間のかかる処理を入れてたりとか、
そういうことはしてませんか。

無駄な同期処理があったりはしませんか?


ex: TRACEの引数でDNS逆引きしようとしてタイムアウトしてる、とか…。

Ban 2006/06/16(金) 18:27:47
どんなコードかまずわからない時点でなんともいえないような。

_DEBUG の ifdef とか、ASSERT, TRACE等に時間のかかる処理を入れてたりとか、
そういうことはしてませんか。

無駄な同期処理があったりはしませんか?


ex: TRACEの引数でDNS逆引きしようとしてタイムアウトしてる、とか…。

Ban 2006/06/16(金) 18:29:39
ごめんなさい。両方DEBUG版なのね…orz

だとしても、別マシンで試しているのだとすれば、そういう内部処理に依存した
時間のかかり方というのもありえると思うのですが、
プロファイラとかで確認できないのでしょうか。

cu 2006/06/17(土) 08:24:37
返事ありがとう。

>だとしても、別マシンで試しているのだとすれば、そういう内部処理に依存した
>時間のかかり方というのもありえると思うのですが、

別のマシン(win2000、メモリ512MB)でためしたのですが、同じ現象です。
でも、WinXP(メモリ512MB)上でやってみたのですが、全然問題がないです。

>プロファイラとかで確認できないのでしょうか

使い方がわかりません。

よろしくお願いします。

Ban 2006/06/17(土) 10:41:27
> 使い方がわかりません。

調べた上でのご質問ですか。プロファイラが何をするものかはご存知ですか。



プロファイラが分からない/お持ちでないなら、ご自身で、プログラムの先頭や
ブレイクポイントの位置、中間の地点などに「現在時刻を取得しTRACE等に出力する」処理を
うめていき、どこで時間がかかっているかを絞り込んでみてください。

現状、ご提示の情報では、ブレイクポイントを張った位置がまず分かりません。
WinMain の先頭までに何分もかかるということであればロードが遅い可能性が高いですが、
(グローバル変数の初期化という可能性もありますが…
それ以降であればブレイクポイント到達までに環境依存の時間のかかる処理がないことを
まず確認してください。

古いスレッドには追加発言できません。