Приложение Java замедлится присутствием-Xdebug или только при продвижении через код?

Я понимаю, что код Java замедлится, когда выполнено в отладчике.

Вопрос, будет код замедляться просто стартовым Java с этими опциями:

Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

??

Или замедление только происходит, когда Вы соединяетесь с "портом отладки" и на самом деле ступаете через код с помощью IDE?

22
задан Community 23 May 2017 в 11:45
поделиться

2 ответа

Во-первых, чтобы строго ответить на ваш вопрос - по крайней мере, как указано в его заголовке - -Xdebug только включает поддержку отладки в виртуальной машине с использованием JVMDI в JVM до версии 5.0. Так что само по себе это мало что делает. Более того, JVMDI устарел с версии 5.0 в пользу JVMTI :

- Xdebug
Начать с поддержкой JVMDI . JVMDI устарел и не используется для отладки в J2SE 5.0, поэтому этот параметр не требуется для отладки в J2SE 5.0.

Итак, -Xdebug больше ничего не делает, и важная часть:

-Xrunjdwp:<name1>[=<value1>],<name2>[=<value2>]...

или, начиная с Java 5.0, более новая (что вам следует предпочесть, поскольку агент JDWP в 5.0 использует интерфейс JVM TI для виртуальной машины, а не чем более старый интерфейс JVMDI):

--agentlib:jdwp=<name1>[=<value1>],<name2>[=<value2>]...

Теперь, насколько мне известно, просто загрузка агента jwdp и / или настройка JVM для прослушивания сокетного соединения на заданном порту не t оказывают заметное влияние на производительность. Но подключение отладчика делает.

15
ответ дан 29 November 2019 в 05:29
поделиться

Нет, простое включение порта отладки никак не повлияет на производительность во время выполнения. По крайней мере, я такого не замечал.

..

0
ответ дан 29 November 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: