Отладьте JAVA-приложение, не запуская JVM с аргументов отладки

Примечание: использование неопределенной константы XXX - предполагается, что «XXX»

, или в PHP 7.2 или новее:

Предупреждение: использование неопределенной константы XXX - предполагаемый «XXX» ( это вызовет ошибку в будущей версии PHP)

Это уведомление возникает, когда токен используется в коде и представляется константой, но константа с этим именем не определена.

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

Например:

// Wrong
echo $array[key];

// Right
echo $array['key'];

Другие распространенные причины отсутствует значок $ (доллар) перед именем переменной:

// Wrong
echo varName;

// Right
echo $varName;

Или, может быть, у вас есть некорректная другая константа или ключевое слово:

// Wrong
$foo = fasle;

// Right
$foo = false;

Он также может быть признаком того, что необходимое расширение или библиотека PHP отсутствует при попытке доступа к константе, определенной этой библиотекой.

Вопросы, относящиеся:

93
задан shmosel 11 June 2015 в 20:16
поделиться

5 ответов

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

Использование:

jsadebugd <pid>
jdb -connect sun.jvm.hotspot.jdi.SADebugServerAttachingConnector:debugServerName=localhost

аргумент жгута из прутьев названия коннектора может быть найден с помощью jdb -listconnectors.

46
ответ дан Zitrax 24 November 2019 в 06:21
поделиться

VisualVM не является отладчиком, но можно получить дампы потока и дампы "кучи" от него, которые могут быть полезными в диагностировании некоторых проблем. Самые полезные функции требуют JVM 5 или 6.

8
ответ дан Octavia Togami 24 November 2019 в 06:21
поделиться

Можно всегда использовать jdb и отлаживать вручную :P

-5
ответ дан OscarRyz 24 November 2019 в 06:21
поделиться

с использованием jstack (полезно в случае взаимоблокировок) или btrace плагин VisualVM также может помочь

5
ответ дан 24 November 2019 в 06:21
поделиться

Чтобы уточнить, нельзя использовать такие инструменты, как jdb, для подключения к уже запущенным JVM>>, если они не были запущены в режиме отладки

в советской россии источник гласит вам

jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=9426
29
ответ дан 24 November 2019 в 06:21
поделиться
Другие вопросы по тегам:

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