Что такое трассировка в программировании
Перейти к содержимому

Что такое трассировка в программировании

  • автор:

Учебники. Программирование для начинающих.

Programm.ws — это сайт, на котором вы можете почитать литературу по языкам программирования , а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..

Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Delphi для начинающих

Глава 13. Отладка программы

Трассировка программы

Во время работы программы ее инструкции выполняются одна за другой со скоростью работы процессора компьютера. При этом программист не может определить, какая инструкция выполняется в данный момент, и, следовательно, определить, соответствует ли реальный порядок выполнения инструкций разработанному им алгоритму.

В случае неправильной работы программы необходимо видеть реальный порядок выполнения инструкций. Это можно сделать, выполнив трассировку программы. Трассировка — это процесс выполнения программы по шагам (step-by-step), инструкция за инструкцией. Во время трассировки программист дает команду: выполнить очередную инструкцию программы.

Delphi обеспечивает два режима трассировки: без захода в процедуру (Step over) и с заходом в процедуру (Trace into). Режим трассировки без захода в процедуру выполняет трассировку только главной процедуры, при этом трассировка подпрограмм не выполняется, вся подпрограмма выполняется за один шаг. В режиме трассировки с заходом в процедуру выполняется трассировка всей программы, т. е. по шагам выполняется не только главная программа, но и все подпрограммы.

Для того чтобы начать трассировку, необходимо из меню Run выбрать команду Step over или Trace into. В результате в окне редактора кода будет выделена первая инструкция программы. Для того чтобы выполнить выделенную инструкцию, необходимо из меню Run выбрать команду Step over (нажать клавишу ) или Trace into (нажать клавишу ). После выполнения инструкции будет выделена следующая. Таким образом, выбирая нужную команду из меню Run, можно выполнить трассировку программы.

Активизировать и выполнить трассировку можно при помощи функциональной клавиатуры. Команде Step over соответствует клавиша , а команде Trace into — клавиша .

В любой момент времени можно завершить трассировку и продолжить выполнение программы в реальном темпе. Для этого надо из меню Run выбрать команду Run.

При необходимости выполнить трассировку части программы следует установить курсор на инструкцию программы, с которой надо начать трассировку, и из меню Run выбрать команду Run to cursor или нажать клавишу . Затем, нажимая клавишу или клавишу , выполнить трассировку нужного фрагмента программы.

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

Трассировка (программирование)

У этого термина существуют и другие значения, см. Трассировка (значения).

Трассиро́вка — процесс пошагового выполнения программы. В режиме трассировки программист видит последовательность выполнения команд и значения переменных на данном шаге выполнения программы, что позволяет легче обнаруживать ошибки. Трассировка может быть начата и окончена в любом месте программы, выполнение программы может останавливаться на каждой команде или на точках останова, трассировка может выполняться с заходом в процедуры и без заходов.

См. также

  • Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
  • Викифицировать статью.
  • Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).
  • Отладка программ

Wikimedia Foundation . 2010 .

  • Трассировка (значения)
  • Трассировка печатных плат

Полезное

Смотреть что такое «Трассировка (программирование)» в других словарях:

  • Трассировка (значения) — Трассировка: Трассировка (программирование) пошаговое выполнение программы с остановками на каждой команде или строке. Трассировка печатных плат задача определения линий, соединяющих эквипотенциальные контакты элементов, и компонентов … Википедия
  • Обратная семантическая трассировка — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия
  • Обратная Семантическая Трассировка — (ОСТ) метод контроля качества, который позволяет обнаруживать ошибки, утечку или искажение информации при создании проектных артефактов: документации, кода и т. д. Метод наиболее ценен на ранних стадиях разработки программного обеспечения, при… … Википедия
  • Аспектно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная … Википедия
  • Инструментирование (программирование) — В области программирования под инструментированием понимают возможность отслеживания или установления количественных параметров уровня производительности программного продукта, а также возможность диагностировать ошибки и записывать информацию… … Википедия
  • Парадигма — (Paradigm) Определение парадигмы, история возникновения парадигмы Информация об определении парадигмы, история возникновения парадигмы Содержание Содержание История возникновения Частные случаи (лингвистика) Управленческая парадигма Парадигма… … Энциклопедия инвестора
  • Аспектно-ориентированная разработка программного обеспечения — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия
  • Программируемая пользователем вентильная матрица — ППВМ типа Stratix IV GX фирмы Altera Программируемая пользователем вентильная матрица (ППВМ, FPGA) полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления; отсю … Википедия
  • Тестирование программного обеспечения — Разработка программного обеспечения Процесс разработки ПО Шаги процесса Анализ • Проектирование • Программирование • Докумен … Википедия
  • P-modeling — P Modeling это авторская промышленная методика обучения объектно ориентированному анализу и проектированию (en:Object oriented analysis and design (англ.)) с использованием UML. P modeling может использоваться при разработке ПО. P… … Википедия
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,

WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

Поделиться ссылкой на выделенное

Прямая ссылка:

Нажмите правой клавишей мыши и выберите «Копировать ссылку»

Что такое трассировка в программировании

Все, что необходимо начинающему и опытному программисту

Трассировка

Для понимания чужой программы и для проверки правильности написания своей используют метод пошагового выполнения программы с отслеживанием значений всех переменных.

Пример 6.4.
Вычисление суммы чисел от 6 до 10

Рис. 6.3. Блок-схема алгоритма вычисления суммы чисел от 6 до 10

Для проверки правильности работы программы рекомендуется пошагово отслеживать изменение всех переменных после выполнения каждого оператора программы.
Такой процесс называется трассирввкой. Продемонстрируем этот прием (табл. 6.1).
В результате работы программы на экране получим число 40.

Таблица 6.1. Трассировка программы из примера 6.4

for N:= 6 to 10 do

For N:= 6 to 10 do

For N:= 6 to 10 do

For N:= 6 to 10 do

For N:= 6 to 10 do

For N:=6 to 10 do

writeln (‘Сумма чисел’,S:3)

На экране: Сумма чисел=40

Для операторов, выполняющих проверку условий (if, for и т. п.) в столбце «Условие» принято указывать результат проверки. В данном случае в цикле for проверяется условие продолжения цикла.
Символы «. » подчеркивают, что значение счетчика цикла по выходе из цикла считается неопределенным.

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

Вычисление суммы ряда

Рассмотрим задачу вычисления суммы ряда:
1/(1*1) + 1/(2*2) + 1/(3*3) + 1/(4*4) + 1/(5*5)

Здесь мы имеем ряд дробей, у которых в знаменателях записаны квадраты чисел от 1 до 5.
Рассмотрим каждую дробь как произведение двух дробей, например:
1/(3*3) = 1/3 * 1/3

В общем виде это можно записать так:
1/(N * N) = 1/N * 1/N

Блок-схема алгоритма решения задачи представлена на рис. 6.4.

Рис. 6.4. Блок-схема алгоритма вычисления суммы ряда

Задание 6.5.
Написать программу вычисления n! (факториал числа n), где n положительно. Определение факториала:

Другими словами, n! — это произведение первых n натуральных чисел.

Каждый следующий результат (обозначим его Р) получается путем умножения предыдущего результата (предыдущего Р) на счетчик, который пробегает значения от 1 до n.
Обозначим значение счетчика буквой k.

Получаем общий вид выражения: Р = Р * k (то есть воспользуемся рекуррентной формулой вычисления факториала: n! = (n — 1)! * n).

Программа должна быть организована так: с клавиатуры вводится число n (n— положительно), а затем на экран выдается таблица факториалов чисел до n включительно.

Задание 6.6.
Написать программу вычисления суммы ряда S=1 + 2 + 3 + 4 + 5 + 6. Нарисовать блок-схему и заполнить таблицу трассировки. Убедиться при трассировке, что сумма равна 21.

Таблица 6.2. Заготовка для таблицы трассировки алгоритма из задания 6.6

Задание 6.6.
Написать программу вычисления суммы ряда для n слагаемых (n вводится с клавиатуры):
1/(1*2*3) + 1/(2*3*4) + 1/(3*4*5) + 1/(4*5*6) + …

Задание 6.7.
Используя возможности модуля Crt для работы с экраном в текстовом режиме, написать программу, которая 16 раз меняет цвет экрана и выводит любой текст на новом фоне в центр экрана.
Пояснение: разумно, если цвет фона и параметр цикла будут одной переменной (палитра цветов изменяется в диапазоне 0-15).

Задание 6.8.
Используя возможности модуля Crt, напишите программу, в которой символ «звездочка» (*) пробегает по всему периметру экрана из верхнего левого угла.
Пояснение: в программе организуйте 4 цикла. В качестве счетчика используйте координаты X и Y. Нарисуйте блок-схему алгоритма.
Попробуйте изменить программу, используя всего два цикла: в одном цикле звездочки бегут сразу по верхней и нижней строкам экрана, в другом — сразу по левому и правому краю. Пусть каждая следующая звездочка выводится случайным цветом.

Задание 6.9.
По экрану разбросайте 1000 звездочек в случайном месте случайным цветом с небольшой задержкой. Не забудьте инициализировать датчик случайных чисел в начале программы — один раз! Нарисуйте блок-схему алгоритма.

1. Для организации многократно повторяющихся действий с заранее известным числом повторений используется оператор цикла for.
2. Счетчик цикла всегда имеет порядковый тип.
3. Счетчик цикла изменяется с шагом +1, если оператор имеет форму
for . = . to . do
4. Счетчик цикла изменяется с шагом -1, если оператор имеет форму
for . =. downto . do
5. Чтобы узнать, сколько раз выполнится тело цикла for, нужно найти разность между крайними значениями счетчика (по модулю) и прибавить к результату 1.
6. Не рекомендуется изменять счетчик цикла в теле цикла.
7. Если внутри цикла for поставить еще один цикл for, то количество раз, которое выполнится тело внутреннего цикла, равно произведению числа повторений внешнего цикла на число повторений внутреннего.
8. Для проверки правильности работы алгоритма его выполняют вручную, шаг за шагом, отслеживая изменения всех переменных. Это называется трассировкой.

1. Какой оператор нужно использовать, чтобы вывести в каждой строке экрана слово «Привет»?
2. Чем отличаются формы «to» и «downto» оператора for?
3. Переменные какого типа должны использоваться в качестве счетчика цикла for?
4. Сколько раз выполнится тело внутреннего цикла:
for i:=2 to 6 do
for j:=5 downto 3 do
writeln(‘*’).
5. Написанная программа выдает странный результат. Вероятно, программа написана с ошибкой. Как понять, где содержится ошибка?
6. Требуется последовательно присвоить переменной N значения всех трехзначных чисел. Напишите оператор, присваивающий переменной N нужные значения.

2014-11-13 ответил Оля Зуева

А что такое трассировка алгоритма?

2015-06-23 ответил миля

Что будет выведено на экран после выполнения программы, если с клавиатура ввести числа 12,52,48,65,78,18,49,15,8,52,84,14,28,91,37 const N=15; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); min := 100; < не забыть начальные условия! >for i:=1 to N do if (a[i] >= 20) and (a[i] < min) then min := a[i]; writeln ( min ); end. Нужна таблица трассировки

2015-06-23 ответил миля

Что будет выведено на экран после выполнения программы, если с клавиатура ввести числа 12,52,48,65,78,18,49,15,8,52,84,14,28,91,37 const N=15; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do readln(a[i]); min := 100; < не забыть начальные условия! >for i:=1 to N do if (a[i] >= 20) and (a[i] < min) then min := a[i]; writeln ( min ); end. Нужна таблица трассировки

2016-04-25 ответил Отсосал у Гитлера

Та вы ввсе ебнутые, а сабака ебёт вас

2016-04-25 ответил Лазурный пончик

Хожу сюда только для того что бы у меня сосали

2016-11-15 ответил николай

всем привет, подскажите пожалуйста, Для чего предназначена таблица трассировки алгоритма?

2016-11-21 ответил Саня

2016-11-21 ответил Сабака

В рот вас ебал!11

2017-08-26 ответил Лорд Нефрит

Где админы сайта?, Почему комментарии неадекватов свободно проходят на страницу.

2023-09-23 ответил Тима

Спасибо, все понял. Все ебланы, которые не понимают это ваши проблемы! Сосите мой большой стек

Трассировка и оборудование приложений

Трассировка — это мониторинг выполнения запущенного приложения. Вы можете добавить инструментирование трассировки и отладки в свое приложения .NET Framework при его разработке; кроме того, вы можете использовать это инструментирование при разработке приложения и после его развертывания. С помощью классов System.Diagnostics.Trace, System.Diagnostics.Debug и System.Diagnostics.TraceSource можно записывать сведения об ошибках и выполнении приложения в журналы, текстовые файлы или на другие устройства для последующего анализа.

Термин инструментирование относится к возможности мониторинга и измерения уровня производительности продукта и диагностики ошибок. В программировании это означает способность приложения включать следующие возможности.

  • Трассировка кода — получение информационных сообщений о работе приложения во время выполнения.
  • Отладка — отслеживание и устранение ошибок программирования в приложении при разработке. Дополнительные сведения см. в разделе Отладка.
  • Счетчики производительности — компоненты, позволяющие отслеживать производительность приложения. Дополнительные сведения см. в статье Performance Counters.
  • Журналы событий — компоненты, позволяющие получать и отслеживать основные события при выполнении приложения. Дополнительные сведения см. в описании класса EventLog.

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

Класс TraceSource предоставляет улучшенные функции трассировки и может использоваться вместо статических методов более старых классов трассировки Trace и Debug. Знакомые классы Trace и Debug по-прежнему широко используются, однако рекомендуется использовать класс TraceSource для новых команд трассировки, таких как TraceEvent и TraceData.

Классы Trace и Debug идентичны, за исключением того, что процедуры и функции класса Trace по умолчанию компилируются в сборки выпуска, а процедуры и функции класса Debug — нет.

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

Отладка и трассировка кода

Использование методов вывода класса Debug при разработке приложения позволяет отображать сообщения в окне вывода, доступном в интегрированной среде разработки Visual Studio. Пример:

Trace.WriteLine("Hello World!") Debug.WriteLine("Hello World!") 
System.Diagnostics.Trace.WriteLine("Hello World!"); System.Diagnostics.Debug.WriteLine("Hello World!"); 

В каждом из этих примеров будет отображаться сообщение Hello World! в окне вывода при запуске приложения в отладчике.

Это позволяет отлаживать приложения и оптимизировать их производительность на основе их поведения в среде тестирования. Возможна отладка приложения при отладочном построении с включенным условным атрибутом Debug, что позволяет получать все выходные данные отладки. Когда приложение будет готово к выпуску, можно скомпилировать построение выпуска, не включая условный атрибут Debug, чтобы код отладки не включался компилятором в конечный исполняемый файл. Дополнительные сведения см. в разделе Практическое руководство. Условная компиляция с использованием атрибутов Trace и Debug. Дополнительные сведения о различных конфигурациях сборок для приложения см. в разделе Компиляция и сборка.

С помощью методов класса Trace можно отслеживать выполнение кода в установленном приложении. Процессом и масштабом трассировки можно управлять. Для этого добавьте в код переключатели трассировки. Так вы сможете отслеживать состояние приложения в рабочей среде. Это особенно важно в бизнес-приложениях, которые используют различные компоненты, выполняющиеся на нескольких компьютерах. Вы можете управлять порядком использования переключателей после развертывания с помощью файла конфигурации. Дополнительные сведения см. в разделе Практическое руководство. Создание, инициализация и настройка переключателей трассировки.

При разработке приложения, для которого предполагается использовать трассировку, в код приложения обычно включают сообщения трассировки и отладки. Когда все будет готово для развертывания приложения, можно скомпилировать сборку выпуска без включения условного атрибута Debug. Тем не менее можно включить условный атрибут Trace, чтобы компилятор включил код трассировки в исполняемый файл. Дополнительные сведения см. в разделе Практическое руководство. Условная компиляция с использованием атрибутов Trace и Debug.

Этапы трассировки кода

Существует три этапа трассировки кода.

  1. Инструментирование — добавление кода трассировки в приложение.
  2. Трассировка — код трассировки записывает сведения в указанный целевой объект.
  3. Анализ — оценка сведений трассировки для определения и понимания проблем в приложении.

Во время разработки все методы вывода трассировки и отладки записывают сведения в окне вывода Visual Studio по умолчанию. В развернутом приложении эти методы записывают сведения трассировки в указанные целевые объекты. Дополнительные сведения об указании целевого объекта выходных данных трассировки и отладки см. в разделе Прослушиватели трассировки.

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

Использование трассировки в приложении
  1. Обдумайте, какие выходные данные трассировки вы хотите получить на месте после развертывания приложения.
  2. Создайте набора переключателей. Дополнительные сведения см. в статье How to: Configure Trace Switches (Настройка переключателей трассировки).
  3. Добавьте операторы трассировки в код приложения.
  4. Определите, где вы хотите получать выходные данные трассировки, и добавьте соответствующие прослушиватели. Дополнительные сведения см. в разделе Создание и инициализация прослушивателей трассировки.
  5. Выполните тестирование и отладку своего приложения и содержащегося в нем кода трассировки.
  6. Скомпилируйте приложение в исполняемый код с помощью одной из следующих процедур.
    • Используйте меню Сборка со страницей Отладка диалогового окна Страницы свойств в обозревателе решений. Используйте эту процедуру при компиляции в Visual Studio. — или —
    • Используйте директивы компилятора Trace и Debug для компиляции из командной строки. Дополнительные сведения см. в разделе Условная компиляция с использованием атрибутов Trace и Debug. Используйте эту процедуру при компиляции из командной строки.
  7. Если во время выполнения возникает проблема, включите соответствующий переключатель трассировки. Дополнительные сведения см. в разделе Настройка переключателей трассировки. Код трассировки записывает сообщения трассировки в указанный целевой объект, например в экран, текстовый файл или журнал событий. Тип прослушивателя, включенного в коллекцию, Trace.Listeners определяет целевой объект.
  8. Проанализируйте сообщения трассировки, чтобы обнаружить и понять проблемы в приложении.

Инструментирование трассировки и распределенные приложения

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

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

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

Стратегическое размещение операторов трассировки

Необходимо уделить особое внимание размещению операторов трассировки для использования во время выполнения. Вы должны учесть, какие сведения трассировки скорее всего потребуются в развертываемом приложении, чтобы в полной мере охватить все вероятные сценарии трассировки. Поскольку приложения, использующие трассировку, могут быть самыми разными, не существует общих принципов стратегического размещения трассировки. Дополнительные сведения о размещении операторов трассировки см. в разделе Практическое руководство. Добавление операторов трассировки в код приложения.

Выходные данные трассировки

Выходные данные трассировки собираются объектами, которые называются прослушивателями. Прослушиватель — это объект, который принимает выходные данные трассировки и записывает их в устройство вывода (обычно это окно, журнал или текстовый файл). При создании прослушиватель трассировки, как правило, добавляется к коллекции Trace.Listeners, что позволяет ему получать все выходные данные трассировки.

Сведения трассировки всегда записываются как минимум в целевой объект вывода Trace по умолчанию, DefaultTraceListener. Если по каким-то причинам объект DefaultTraceListener был удален, а другие прослушиватели не были добавлены в коллекцию Listeners, сообщения трассировки получены не будут. Дополнительные сведения см. в разделе Прослушиватели трассировки.

В следующей таблице перечислены шесть членов класса Debug и методов класса Trace, которые записывают сведения трассировки.

Метод Выходные данные
Assert Указанный текст; если ничего не указано, то стек вызовов. Выходные данные записываются, только если условие, указанное в качестве аргумента в операторе Assert , имеет значение false.
Fail Указанный текст; если ничего не указано, то стек вызовов.
Write Указанный текст.
WriteIf Указанный текст, если условие, указанное в качестве аргумента в операторе WriteIf , выполнено.
WriteLine Заданный текст и возврат каретки.
WriteLineIf Указанный текст и каретки возвращаются, если выполняется условие, указанное в качестве аргумента WriteLineIf в операторе .

Все прослушиватели в коллекции Listeners получают сообщения, описанные в приведенной выше таблице, но предпринимаемые ими действия зависят от вида прослушивателя, получившего сообщения. Например, отображает диалоговое DefaultTraceListener окно утверждения, когда получает Fail уведомление о сбое Assert или , но TextWriterTraceListener просто записывает выходные данные в свой поток.

Можно создавать пользовательские результаты путем реализации собственного прослушивателя. Пользовательский прослушиватель трассировки может, например, отображать сообщения в окне сообщения или подключаться к базе данных для добавления сообщений в таблицу. Все пользовательские прослушиватели должны поддерживать шесть вышеупомянутых методов. Дополнительные сведения о создании прослушивателей, определяемых разработчиками, см. в описании TraceListener в справочнике по .NET Framework.

Методы Write и WriteLine всегда записывают указанный текст. Assert , WriteIf и WriteLineIf требуют логического аргумента, который определяет, пишет ли указанный текст; они записывают указанный текст только в том случае, если выражение имеет значение true (для WriteIf и WriteLineIf ) или false (для Assert ). Метод Fail всегда записывает указанный текст. Дополнительные сведения см. в разделе Практическое руководство. Добавление операторов трассировки в код приложения и в справочнике по .NET Framework.

Проблемы безопасности

Если не отключить трассировку и отладку перед развертыванием приложения ASP.NET, то приложение может отображать сведения о себе, которые могут использоваться вредоносными программами. Дополнительные сведения см. в разделах Практическое руководство. Условная компиляция с использованием атрибутов Trace и Debug, Компиляция и сборка и Практическое руководство. Создание, инициализация и настройка переключателей трассировки. Отладка также настраивается через службы IIS.

См. также раздел

  • Trace
  • TraceSource
  • Контракты для кода
  • Типы проектов C#, F# и Visual Basic
  • Практическое руководство. Добавление операторов трассировки в код приложения
  • Практическое руководство. Условная компиляция с использованием атрибутов Trace и Debug.
  • Практическое руководство. Создание, инициализация и настройка переключателей трассировки
  • Практическое руководство. Создание и инициализация источников трассировки
  • Практическое руководство. Использование TraceSource и фильтров с прослушивателями трассировки
  • Прослушиватели трассировки
  • Переключатели трассировки

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *