2016-06-29 6 views
1

Интерфейс отладки Stackdriver жалуется, если в вашем источнике есть файл, отличный от Java, например, файл Groovy.Использование отладки Stackdriver для языков Java, не связанных с Java

Как обычно работает отладчик, он соответствует имени файла и номеру строки атрибутам исходного файла и linenumber, включенным в файл класса, поэтому я не уверен, почему поддержка исходных файлов, отличных от java, была отключена.

Удалось ли кому-либо ударить «интерфейс» в прием файлов, отличных от java (например, переименовав их), или получить какую-либо информацию о том, планирует ли Google добавить поддержку?

ответ

2

Это ограничение жестко закодировано в Java-агенте отладчика Stackdriver. См. https://github.com/GoogleCloudPlatform/cloud-debug-java/blob/master/src/agent/internals/src/main/java/com/google/devtools/cdbg/debuglets/java/ClassPathLookup.java#L186

Причина ограничения заключается в том, что агент был создан для java. Он понимает условия Java и выражения (и не понимает выражения других языков). Агент может быть модифицирован для обработки других языков JVM с относительно небольшим количеством изменений. Тем не менее, строки: строки много соответствуют информации в файлах классов и синтаксическому анализатору выражений, чтобы соответствовать целевому lanuage.

+0

Несчастливо, чтобы увидеть такое произвольное ограничение, используя условия и выражения Java для отладки кода Scale, Groovy, Clojure и т. Д., Было бы совершенно здорово, и каждая половина достойного языка JVM выплевывает классы с соответствующими атрибутами номера строки. – thoutbeckers

+0

Это обеспечит отправную точку для просмотра, если вы можете обмануть платформу (вам нужно «только» переименовать атрибуты и файлы класса в ветви вашего репо). Я могу понять, почему Google не хочет поддерживать полную поддержку любого языка, но, надеюсь, они проведут тестирование, если популярные языки JVM могут работать должным образом в один прекрасный день. – thoutbeckers

+0

Возможно, https://github.com/GoogleCloudPlatform/cloud-debug-java/commit/aacb0d0348d6f6202e20908f5cac020fb30b6d2b создал мертвый код на странице https://github.com/GoogleCloudPlatform/cloud-debug-java/blob/master/src/. агент/внутренние/src/main/java/com/google/devtools/cdbg/debuglets/java/ClassPathLookup.java # L191 – thoutbeckers