Как правильно назвать отладку, добавив операторы «print» - PullRequest
31 голосов
/ 10 октября 2008

Есть много способов отладки, использование отладчика - один из них, но простой для скромного, ленивого программиста состоит в том, чтобы просто добавить несколько операторов print в ваш код.

т.е.

 def foo(x):
     print 'Hey wow, we got to foo!', x

     ...

     print 'foo is returning:', bar
     return bar

Есть ли правильное название для этого стиля отладки?

Ответы [ 19 ]

55 голосов
/ 10 октября 2008

Да - это известно как printf() отладка , названная в честь вездесущей функции C:

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

- printf () отладка @ everything2

Коренные пользователи других языков, без сомнения, обращаются к нему с помощью команды печати / журнала / или трассировки по умолчанию, доступной для их выбранной платформы кодирования, но я слышал имя "printf ()", используемое для ссылки на эту технику в многие языки, кроме C. Возможно, это связано с его историей: в то время как BASIC и FORTRAN имели базовые, но работоспособные PRINT команды, C обычно требовалось немного больше работы для форматирования различных типов данных: printf() было (и часто все еще остается) на сегодняшний день наиболее удобный способ для этой цели, предоставляющий множество встроенных опций форматирования. Его двоюродный брат, fprintf(), принимает другой параметр, поток для записи: это позволило осторожному «отладчику» направить диагностическую информацию в stderr (возможно, сам перенаправлен в файл журнала), оставив выходные данные программы нетронутыми.

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

33 голосов
/ 10 октября 2008

Я слышал, это называется Caveman Debugging

24 голосов
/ 27 октября 2008

Я думал, что следующая цитата будет кстати:

«Самый эффективный инструмент отладки по-прежнему тщательно продуман в сочетании с продуманно размещенными инструкциями для печати».

  • Брайан Керниган, «Unix для начинающих» (1979)
18 голосов
/ 10 октября 2008

Я называю это Tracing.

6 голосов
/ 10 октября 2008

Место отладки штанов :)

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

6 голосов
/ 10 октября 2008

я и мои товарищи по команде называем это "Oldschool Debuging".

5 голосов
/ 10 октября 2008

Я называю это "Привет, мама", программирование.

5 голосов
/ 10 октября 2008

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

4 голосов
/ 10 октября 2008

Я также слышал термин «Отладка MessageBox» от толпы VB для обозначения этого «стиля» «отладки».

4 голосов
/ 29 ноября 2013

Я бы назвал это просто " logging ".

...