Использование отладки Stackdriver для языков JVM, отличных от Java

Интерфейс отладки Stackdriver выдает жалобы, если в вашем источнике есть файл, отличный от java (например, файл Groovy).

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

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


person thoutbeckers    schedule 29.06.2016    source источник


Ответы (1)


Это ограничение жестко запрограммировано в Java-агенте Stackdriver Debugger. См. 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 с относительно небольшими изменениями. Однако строки file: во многом соответствуют информации в файлах классов и синтаксическому анализатору выражений, измененному для соответствия целевому языку.

person Erez Haba    schedule 29.06.2016
comment
К сожалению, видеть такое произвольное ограничение, использование условий и выражений Java для отладки кода Scale, Groovy, Clojure и т. Д. Было бы совершенно нормальным, и каждый полуприличный язык JVM выделяет классы с правильными атрибутами номеров строк. - person thoutbeckers; 30.06.2016
comment
Это послужит отправной точкой для того, чтобы увидеть, сможете ли вы обмануть платформу (вам нужно только переименовать атрибуты и файлы класса в ветке вашего репо). Я могу понять, почему Google не хочет полную поддержку любого языка, но, надеюсь, они проверит, смогут ли популярные языки JVM работать должным образом в один прекрасный день. - person thoutbeckers; 30.06.2016