2009-07-23 13 views
5

私は複数の開発者プロジェクトに取り組んでいます。開発中のアプリケーションは、ログインしたユーザーやその場所などのパラメータを渡すランチャアプリケーションを介してランチャです。今すぐデバッグするとアプリケーションは、私は、入力パラメータを解析するコードにブレークポイントを設定し、私は、ユーザー名の変数を割り当てる自分のユーザー名をなどVisual Studioデバッガ - 自動変数割り当て

私はハードコードできたこれらの値が、:

  • 私はこれは悪い習慣であると考えています。
  • ファイルがVCSにチェックインされ、悲惨な波紋の影響を受けることが懸念されます。
  • 複数の開発者がプロ​​ジェクトに取り組んでいますので、私の名前、場所の割り当てなどをハードコーディングすることは本当にオプションではありません。
  • アクティブな開発ではファイルを読み取り専用にすることはできません。このファイルの更新版を引き続き入手する必要があります。

私の質問は:

  • は自動的に変数にデバッグモードでの値を割り当てるために、組み込みの方法または拡張子があります。今は変数を強調表示してテキストを入力しますが、これは自動化できますか?

事前

答えて

1

のおかげで、私はこのような状況を打つ、通常I条件付きコンパイルおよび環境変数/ REGキーの組み合わせ。これらのストレージメカニズムを使用して、アプリケーションにハードコーディングすることなく情報をホストすることができます。

#if DEBUG 
if (null != Environment.GetVariable("CUSTOM_INFO")) { 
    userName = Environment.GetVariable("CUSTOM_USERNAME"); 
    ... 
} 
#endif 

この方法で他の開発者に影響を与えません。当然のことながら、彼らは同じことを達成したい。

0

JaredParの返答に加えて、クラスをpartialにします。

これにより、メインファイル(チェックインされたファイル)を更新したままにすることができます。もう1つのファイル(IF DEBUGを含むファイル)はローカル&になります。

希望します。

0

奇妙な質問です。犬の頃から犬を飼ったことがありますが、単体テストとテスト駆動開発のコンセプトはすでに2009年に確立されています.nunitやtestdriven.netのような優れたツールが用意されています。デバッガは適切なツールではなく、単に灰色の髪の毛を生成します。

+0

Eyehですが、システム全体を実行している間に値を挿入するため、テストフレームワークはうまく機能しません。それとも、少なくともそれは私の印象でした。私は条件付きブレークポイントでこれを行うことができるかもしれないと思うが、Green Hillsデバッガにはブレークポイントが当たったときにコードの一部をスキップしたり条件を設定できる「ジャンプブレークポイント」があります。 –

関連する問題