Я изучаю Кукольный и самое большое разочарование, которое у меня есть со всей парадигмой, это процесс разработки try/run/fix, который я использую для создания функционального кода Puppet. Мой опыт в Java, и я, естественно, использую для отладки моего кода, чтобы найти ошибки вместо того, чтобы просто запускать программу, чтобы увидеть, где она бомбит, делая разработку намного быстрее, но я не могу найти способ сделать это, используя Puppet и Eclipse , Я знаю, что писать отладчик для Puppet потребует определенного творчества, учитывая его природу, но я думаю, что это то, что сообщество действительно может извлечь из этого.Почему я не могу отлаживать свой марионеточный код?
Я написал отладчики и знаю SDK Eclipse, но, к сожалению, он не однозначно отображает архитектуру Puppet, которая немного неудобна в том смысле, что ее стек выполнения и поток выполнения не происходят в натуральном порядке, а также факт среда выполнения требует, чтобы целевая машина применяла изменения.
Мне любопытно, если сообщество выполнило какую-либо работу по разработке, пытаясь создать какой-то отладчик, где код может быть сделан. Чтобы написать это, я думаю, что было бы разумно расширить Eclipse с новым типом конфигурации отладки Puppet, где вы укажете хост целевой песочницы, чтобы протестировать свой код, а также марионетный проект в вашей рабочей области, которую вы хотите отлаживать (используя существующие инструменты Gepetto). Затем, когда вы начинаете новый сеанс отладки Puppet, Eclipse может подключаться к удаленному хосту, выполнять марионетку с некоторыми дополнительными аргументами отладки и каким-то образом предоставлять обратную связь от среды выполнения о том, какая строка кода выполняется в настоящий момент.
Это все еще может быть неудобно, но позволит марионеткам быстро увидеть такие вещи, как ох ... Я не могу создать этот каталог, потому что родительский путь не существует, подождите ... почему это утверждение if не происходит здесь как я и планировал, о, я вижу здесь, что Кукольный не очень ясен в одиночных или двойных кавычках, или теперь я вижу, почему это не удается, потому что этот класс не был выполнен первым и т. д. и т. д.
Вместо этого мы получаем большой уродливый результат на консоли агента, который да может дать нам представление об ошибках, но не дает чистому отображению исключений для нашего кода, который на мой взгляд показывает основную боль и слабость Puppet, можете ли вы хотя бы дать мне трассировку стека и номер строки, чтобы я знал, где смотреть? Прошу прощения, но нет.
Не поймите меня неправильно, мне нравится, как Puppet может заставить меня выглядеть очень продуктивно на протяжении всей рабочей недели, когда все, что я делаю, - это запуск Puppet на новых машинах, которые мой менеджер еще не понял, но я думаю, что Куклу действительно полезно, что отсутствие поддержки отладки - это то, что нужно решить.
Кто-нибудь еще чувствует эту боль? - Duncan Krebs
Спасибо, звучит как его стоит проверить! –