Преобразовать строку в переменную - PullRequest
0 голосов
/ 25 октября 2011

Это может быть невозможно, но было бы чрезвычайно полезно при отладке. Иногда случайные ошибки возникают во время работы программы. Я хотел бы иметь возможность набирать что-то (строка), а затем он будет захватывать переменную с именем этой строки и возвращать ее значение.

int mainNumber = 89;

Ввод: получить mainNumber Выход: 89

Возможно ли что-то подобное? Я не хочу создавать отладки для каждой переменной на случай, если что-то пойдет не так. Я знаю, что могу дождаться появления ошибки, остановить программу, добавить отладку и снова подождать, но это будет быстрее.

Ответы [ 4 ]

10 голосов
/ 25 октября 2011

Вам необходимо узнать об variable, watch и immediate окнах Visual Studio.

6 голосов
/ 25 октября 2011

Будет ли «немедленное окно» тем, что вы ищете?http://msdn.microsoft.com/en-us/library/f177hahy(v=VS.100).aspx

1 голос
/ 25 октября 2011

Я бы предложил почитать Trace and Debug в .NET.Обычно вы можете включать и выключать операторы Trace и Debug из файла конфигурации программы, что не влияет на производительность во время выполнения, если вы не хотите получать эти дампы.Затем вы можете добавить в свой код операторы Trace.Write(...) и Debug.Write(...), чтобы получить желаемый результат.

0 голосов
/ 25 октября 2011

Исходя из вашего комментария, звучит так, будто вам нужно будет провести какое-то исследование.Вот некоторые вещи, которые следует рассмотреть / попробовать:

  1. В чем ошибка?Выдается ли исключение, данные возвращаются неправильно и т. Д. Определите, что именно вы пытаетесь устранить.
  2. Знаете ли вы, при каких обстоятельствах происходит ошибка?Поскольку вы сказали случайным образом, скорее всего, вы еще не знаете ответ на этот вопрос.
  3. Можете ли вы воспроизвести или увидеть ошибку в тестовой среде?

Один из вариантов, которыйЯ делал в прошлом, чтобы добавить регистрацию (обычно в текстовый файл) для рассматриваемого приложения.Я включил ведение журнала в областях, представляющих интерес, и отметку времени записей.Соберите достаточно информации, чтобы вы могли адекватно идентифицировать происходящие действия (до / после состояний переменных / объектов, любую вспомогательную информацию, которая идентифицирует действие и т. Д.).

Когда сообщается об ошибке (или воспроизводится),если репортер дает достаточно информации (например, время, то, что он делал, другие вещи, относящиеся к приложению или то, что он делал), вы можете посмотреть в своих файлах журнала и посмотреть, что происходит.

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

Это может быть что-то вроде итеративного процесса, в зависимости от того, насколько велико приложение инасколько велика может быть область возможных проблем.

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