ВУЗ:
Составители:
Рубрика:
19
Trace.Listeners.Add(myWriter);
Trace.AutoFlush = true;
Trace.WriteLine("автоматический вывод из буфера:" + Trace.AutoFlush);
int x = 22;
Trace.Assert(x <= 21, "Перебор");
myWriter.WriteLine("Вывод только на консоль");
//Trace.Flush();
//Вывод только в файл
byte[] buf = {(byte) 'B', (byte) 'y'};
myFile.Write(buf, 0, 2);
myFile.Close();
}
Рис. 4. Файл с записью сообщения о нарушении утверждения Assert
Как и в предыдущем примере, здесь создаются два слушателя, направ-
ляющие вывод отладочных сообщений на консоль и в файл. Когда произошло
нарушение утверждения Assert, оно было проигнорировано, но сообщение о
нем автоматически было направлено всем слушателям. Метод также демонст-
рирует возможность параллельной работы с консолью и файлом. На
рис. 4
пока-
заны результаты записи в файл.
Вариацией метода Assert является метод Fail, всегда приводящий к появ-
лению окна с сообщением о нарушении утверждения, проверка которого осу-
ществляется обычным программным путем.
1.2.4. Классы StackTrace и BooleanSwitch
В библиотеке NFCL имеются и другие классы, полезные при отладке.
Класс StackTrace позволяет получить программный доступ к стеку вызовов.
Класс BooleanSwitch предоставляет механизм, аналогичный константам услов-
ной компиляции. Он разрешает определять константы, используемые позже в
методе условной печати WriteIf классов Debug и Trace. Мощь этого механизма в
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »