Я хотел бы выполнить некоторую отладку Java-программы, работающей в Windows: выполнить обратную трассировку, вывести некоторые переменные, установить точки останова, выполнить пошаговую работу критической функции.
Первое, что я попробовал, это jdb -attach 5312. Это не удалось: «Ошибка shmemBase_attach: система не может найти указанный файл». Я нашел несколько вопросов, связанных с этим сообщением об ошибке, но, похоже, они говорят о более сложном сценарии, включающем отладчик и цель на разных хостах.
То, что я делаю, — это локальный процесс прикрепляется, поэтому я думаю, что это должно быть проще. Но есть кое-что, что усложняет задачу.
Целевой процесс не запускается как java -jar foo.jar или что-то подобное. Это EXE-файл для конкретного приложения, содержащий Java-код. В списке процессов он идентифицирует себя как «Commons Daemon Service Runner», и, глядя на строки внутри него, кажется, что это программа prunsrv из Apache Commons Daemon.
Обозреватель процессов сообщает мне, что аргументов командной строки нет, и что процесс является дочерним для Services.exe. У меня есть возможность запускать и останавливать его из служб Windows, но я не знаю, как с ним делать что-либо еще.
Команда jps этого не делает. Я не показываю этот процесс, но знаю, что это Java-программа... слегка завернутая. Есть ли способ отладить это?
Подробнее здесь: https://stackoverflow.com/questions/445 ... on-service
Как подключить отладчик к программе Java, работающей с помощью Commons Daemon Service Runner? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение