Смотря переменную в Visual C #? - PullRequest
0 голосов
/ 30 ноября 2009

В моей программе есть переменная, которая иногда получает значение -1. Я хочу выяснить, где именно в коде это происходит. В Visual C # есть ли инструмент или метод, который я могу использовать, чтобы, когда переменная становилась равной -1, процесс отладки приостанавливался, и меня переводили в строку кода, где переменная установлена ​​в -1?

Ответы [ 4 ]

4 голосов
/ 30 ноября 2009

Да! Условная точка останова. Щелкните, как если бы обычно добавляли точку останова, затем щелкните правой кнопкой мыши красную точку и выберите «условие». Поставьте утверждение в скобках.

23:               x++;

[x] Condition: (x == 2)
2 голосов
/ 30 ноября 2009

Как и предполагалось, включите переменную var в свойство, установите точку останова на установщик, а когда вы достигнете точки останова, появится окно в VS, чтобы увидеть стек вызовов (debug -> windows -> стек вызовов)

стек вызовов - это стек вызовов - от того, какие методы или функции вы получили, до точки, где вы находитесь. (main -> connectToDatabase -> connectToPort -> sendTcpPacket, например)

2 голосов
/ 30 ноября 2009

Какой тип переменной? Если это свойство, добавьте условную точку останова в установщик. Как только эта строка нажата, взгляните на стек вызовов , чтобы увидеть, откуда он был установлен.

0 голосов
/ 30 ноября 2009

Я предложу сначала превратить эту переменную в свойство с помощью setter и getter. Затем выполните рефакторинг вашего кода, чтобы убедиться, что все места, которые непосредственно пишут и читают эту переменную, не изменены, чтобы использовать установщик и получатель свойства. Наконец, вы можете установить условную точку останова в установщике свойства, чтобы остановить программу, когда свойство установлено в -1. Затем посмотрите на дорожку вызовов, чтобы узнать, где это происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...