Как Вы помещаете, "ЕСЛИ ОТЛАДКА" условие в c# программе так, чтобы, во время выполнения, это проигнорирует ряд кода, если Вы будете работать в Режиме отладки и все же, выполните блок кода, если программа не работает в режиме отладки? Ситуация, где это может использоваться, состоит в том, если метка времени взята в начале блока, и другая метка времени взята в конце. Они будут едва отличаться во время выполнения. Все же, если Вы ступите через код в режим отладки, то они будут отличаться много, и состояния ошибки в, "если блок" мог бы быть начат, ведя к несвоевременному (игра слов) выполнение некоторого кода.
Вы просто помещаете свой код в такой блок:
#IF DEBUG
//code goes here
#endif
Это не задача времени выполнения, это директива препроцессора, что означает, что код в этом блоке даже не будет компилироваться и не будет включен.
Если вы хотите во время выполнения проверить, отлаживаете ли вы, вы можете проверить Debugger.IsAttached
Используйте инструкцию препроцессора #if:
#if debug
// run in debug mode
#else
// run if not in debug mode
#endif
Вы также можете использовать атрибут
[Conditional("Debug")]
в методах.
Еще пара деталей:
с помощью System.Diagnostics;
#if DEBUG
// something
#elif
// some other thing
#endif
#if (DEBUG)
...
#else
...
#endif
см. здесь: http://bloggingabout.net/blogs/rick/archive/2005/03/10/2396.aspx
Поскольку любой другой ответ (кроме одного) не отвечает на ваш вопрос, позвольте мне попробовать:
Если вы хотите получить переключатель времени выполнения, вам понадобится способ получить информацию из вашей среды или командной строки. Кроме того, как только вы получите эту информацию, вам нужно будет применить ее к своей программе.
1) Для этого вам понадобится глобальная переменная.
bool bDebug;
2) получить отладочную информацию
bDebug = strcmp (getEnv ("DebuggingMode"), "1"); // you'll need to mess with this a little - do 'man getenv' and 'man strcmp' for an understanding of what I'm doing
использовать функцию getopt ()
, чтобы узнать, включена ли отладка
3) в любом месте вашего кода, которое вы хотите включена отладка, проверьте, установлен ли bDebug
if (bDebug) {
// do something
}