как начать отладку на проекте Github Maven - PullRequest
0 голосов
/ 25 августа 2018

Я очень новичок в отладке кода, клонированного с Github.Однако до сих пор я делал следующее:

  • клонировал репозиторий на мою локальную машину (git clone), а также с помощью программного обеспечения «sourcetree».
  • создал код (mvn)чистая установка)
  • возможность импортировать проект maven в IDE (Ecliplse, InteliiJ)
  • После завершения сборки я могу запустить приложение (например, start.sh) в целевой системе.Каталог / bin, который был создан после сборки
  • Успешно вошел в пользовательский интерфейс приложения

Вопросы: - Сейчас я не уверен, для чего нужен файл основного классаПриложение и откуда и к какому файлу .java я должен прикрепить точку останова. Как только я прикреплю точку останова, как мне отладить ее при прохождении через пользовательский интерфейс.

Может кто-нибудь дать мне указатель.Заранее спасибо!Например: я тестирую все это в проекте Apache / NiFi-Registry.ref: https://github.com/apache/nifi-registry

1 Ответ

0 голосов
/ 25 августа 2018

Вам нужно будет отредактировать эту строку в скрипте nifi-registry.sh, чтобы включить удаленную отладку

run_nifi_registry_cmd="'${JAVA}' -cp '${BOOTSTRAP_CLASSPATH}' -Xms12m -Xmx24m ${BOOTSTRAP_DIR_PARAMS} org.apache.nifi.registry.bootstrap.RunNiFiRegistry $@"

Это только у меня, или этот объем памяти действительно мал?


Например, в Кафке есть этот раздел скрипта запуска

# Set Debug options if enabled
if [ "x$KAFKA_DEBUG" != "x" ]; then

    # Use default ports
    DEFAULT_JAVA_DEBUG_PORT="5005"

    if [ -z "$JAVA_DEBUG_PORT" ]; then
        JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT"
    fi

    # Use the defaults if JAVA_DEBUG_OPTS was not set
    DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=${DEBUG_SUSPEND_FLAG:-n},address=$JAVA_DEBUG_PORT"
    if [ -z "$JAVA_DEBUG_OPTS" ]; then
        JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
    fi

    echo "Enabling Java debug options: $JAVA_DEBUG_OPTS"
    KAFKA_OPTS="$JAVA_DEBUG_OPTS $KAFKA_OPTS"
fi

Затем он запускается в конечном итоге ${JAVA} ... ${KAFKA_OPTS}, и если вы остановите сервер Kafka и запустите его с

export KAFKA_DEBUG=y; kafka-server-start ...

Затем вы можете подключить удаленный отладчик к порту 5005 по умолчанию


Я понимаю, что вы используете реестр NiFi, а не Kafka, но в основном вам нужно добавить аргументы в JVM и перезагрузить его. Вы не можете просто присоединиться к работающему Реестру и пройтись по исходному коду.

Удаленная отладка приложения Java

...