Для чего используются контрольные точки?
Их можно разместить только на именах методов. Как они используются и для чего они нужны?
![enter image description here]()
Ответы
Ответ 1
У команды отладчика есть хороший пост в блоге на эту тему, а также примеры: http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/10/tracepoints.aspx
https://web.archive.org/web/20190109221722/https://blogs.msdn.microsoft.com/devops/2013/10/10/tracepoints/
Точки трассы вообще не являются новой функцией (они были в Visual Studio с VS 2005). И они не являются точками останова как таковыми, так как они не вызывают прерывание выполнения программы. Это может быть полезно, когда вам нужно что-то проверить, но не остановить программу, так как это приводит к тому, что поведение ошибки не воспроизводится и т.д.
Точки отслеживания - это попытка преодолеть случай, когда вы не можете остановить программу для проверки чего-либо, поскольку это может привести к тому, что некоторые действия не будут воспроизведены, позволяя точке останова регистрировать информацию в окне вывода отладки и продолжать работу, не делая пауз в пользовательском интерфейсе. Вы также можете сделать это с макросами, но это может занять больше времени.
Чтобы установить точку трассировки, сначала установите точку останова в коде. Затем используйте контекстное меню на точке останова и выберите пункт меню "При попадании...". Теперь вы можете добавить операторы журнала для точки останова и отключить действие Stop по умолчанию, чтобы вы регистрировались и работали. Существует множество другой информации, которую вы можете добавить в строку журнала, включая статическую информацию о местонахождении bp, такую как файл, строка, функция и адрес. Вы также можете добавить динамическую информацию, такую как выражения, вызывающая функция или стек вызовов. Такие вещи, как добавление информации о потоке и информации о процессе, могут помочь вам отследить ошибки синхронизации при работе с несколькими потоками и/или процессами.
Ответ 2
В соответствии с MSDN:
Tracepoints - новая функция отладчика в Visual Studio. Контрольная точка - это точка останова с настраиваемым действием, связанным с ней. Когда точка трассировки попадает, отладчик выполняет указанное действие трассировки вместо или в дополнение к нарушению выполнения программы.
Ответ 3
Используйте случай, когда он может оказаться действительно полезным при отладке:
Возможен случай, когда вы хотите отладить функцию, которая вызывается много раз (скажем, сотнями), и вы можете просто захотеть увидеть тенденцию изменения локальной переменной. Сделать это можно, поставив точку останова, но подумайте о том, чтобы сотни раз останавливать (при отладке) эту функцию и стараться записывать значения в блокноте. Делать это очень легко, используя tracepoint, он напрямую помещает журналы в окно " Вывод ", которые можно легко проанализировать или даже очистить. Экономия часов ручного труда и терпения.
Пример журнала в окне вывода (может содержать до сотен строк):
keyframeNo = 2, time = 1100
keyframeNo = 1, time = 0
keyframeNo = 1, time = 1
keyframeNo = 1, time = 1
keyframeNo = 1, curTime =22
curTime=1132835, keyframeno=15
keyframeNo = 2, time = 1
keyframeNo = 2, time = 1
Как это использовать:
щелкните правой кнопкой мыши код> BreakPoint> Вставить TracePoint
Преимущество использования TracePoint:
- Нет необходимости добавлять код для создания журналов. Таким образом, нет напряжения для создания кода, а также нет накладных расходов по очистке кода.
- Это не препятствует потоку исполняемого кода, в отличие от точек останова.
- Он также может печатать значения локальных переменных. Введите {local_variable} после нажатия " Когда попал "
- Вы также можете вставить точки трассировки в состояние отладки, так же, как вы можете сделать для точки останова.