18

他の変数が特定の値に等しい場合、C#コードの特定の行にブレークポイントを設定したいと思います。

MyStringVariable == "LKOH"

どうやってやるの?

ブレークポイントアイコン->条件を右クリックして入力しようとすると、VisualStudioMyStringVariable == "LKOH"はそれを評価できないと言いました。

4

7 に答える 7

37

if (MyStringVariable == "LKOH") Debugger.Break();

System.Diagnostics名前空間が必要です

http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx

于 2010-02-19T14:14:40.433 に答える
25

サンプルコード:

static void Main(string[] args) {
  string myvar;
  for (int ix = 0; ix < 10; ++ix) {
    if (ix == 5) myvar = "bar"; else myvar = "foo";
  }    // <=== Set breakpoint here
}

条件:myvar == "bar"

うまく機能します。

于 2010-02-19T14:09:02.893 に答える
7

コードの場合と同様に、次を使用する必要があります。

MyStringVariable == "LKOH"

ダブルイコールが鍵です。これがないと、式がブール値に評価されないため、評価できないと言えます。

于 2010-02-19T14:03:00.390 に答える
5

あなたはこの仕事をすることができるはずです。条件でExchangeインスタンス名を使用していますか?条件はnotのようなものでなければなりmyExchange.Name == "LKOH"ませんExchange.Name == "LKOH"

ちなみに、=等式演算子の代わりに代入演算子を使用する==ことは機能しますが、プロパティを設定し、何が起こっているのかを理解するために30分時間を浪費します。私は昨日この間違いをしました。

于 2010-02-19T14:32:01.667 に答える
4

私の場合、VBアプリケーションをデバッグしていることを忘れていました。

VBでは、平等は他の多くの言語とは異なります。したがって、条件付きブレークポイントはそうではない必要が=ありました。==myString = "someValue"myString == "someValue"

于 2016-08-03T16:06:00.210 に答える
1

テストする変数は、ブレークポイントのスコープ内にある必要があります。

var x = "xxx";
{ 
  var y = "yyy";
}

brak(); // x is in scope, y isn't
于 2010-02-19T14:08:03.493 に答える
0

私にとって、これは条件付きブレークポイントにヒットしました。

条件付きブレークポイント

于 2020-11-03T09:14:37.930 に答える