Эквивалент GDB «начало» в JDB? - PullRequest
3 голосов
/ 27 марта 2011

Я немного смущен JDB. Будучи довольно хорошим в использовании GDB, я знаю о различных простых командах, используемых для управления выполнением, то есть start, run, cont, step, stepi, break и т. Д., Но есть ряд (на мой взгляд) необычных отличий .

Если я хочу запустить приложение (в отличие от запуска , чтобы я мог запустить его с самого начала), я инстинктивно набираю jdb MyApp, а затем start. Я получаю нераспознанную ошибку команды. Чтение справки JDB не дает мне никаких указаний на команду запуска или ее эквивалент. Итак, я пытаюсь step - это тоже не работает; Мне сказали, что мне нужно запустить Java VM с помощью команды run!

Очевидно, это должно быть возможно, потому что в справке объясняется команда step. Итак, я полагаю, что, возможно, я могу набрать run и очень быстро нажать ctrl+c, чтобы прервать его, поскольку в GDB это останавливает выполнение. Вместо этого он просто выходит из JDB.

Я пытался погуглить, но безрезультатно. Я надеюсь, что я не полностью слепой глупец!

Разгром: с какой стати вы просто запускаете Java-приложение в JDB, чтобы вы могли запустить его с самого начала?

Ответы [ 4 ]

7 голосов
/ 06 сентября 2011

Я только начал использовать JDB в качестве отладчика.Есть хорошие инструкции, которые можно найти здесь .Чтобы ответить на некоторые ваши вопросы:

  1. Чтобы запустить jdb, введите в командной строке jdb <name of main class>
  2. Чтобы запустить программу, введите run
  3. Чтобы установить точку останова, введите: stop at <class>:<line no.>
  4. Для шага введите cont

Как я уже говорил, я только что начал использовать jdb только сейчас.Я уверен, что есть лучшие способы сделать это, и я опубликую здесь, если я узнаю больше сам.

HTH.

1 голос
/ 22 ноября 2011

Проблема в том, что виртуальная машина еще не запущена, поэтому вы не можете перейти на первую строку.Решение состоит в том, чтобы запустить JDB с «-launch» в качестве аргумента командной строки.Оттуда вы можете ввести «step» или «cont», чтобы начать отладку с самого начала.

Лучше всего, если это займет всего секунду и не требует установки IDE: -)

0 голосов
/ 04 апреля 2019

Я читаю этот материал как никогда не использующий Java, но довольно опытный пользователь gdb для c.У меня было много, много случаев, когда мне нужно было войти в первую исполняемую строку исходного кода - настолько часто, что я почти всегда использую следующую последовательность для запуска GDB.

Перед тем, как выполнить команду «run», установите точку останована "главном".Затем «run» загрузит программу, но остановится перед выполнением первого шага.

Это может быть совершенно неприменимо для Java, но я подумал, что сделаю предложение.

0 голосов
/ 27 марта 2011

Я предлагаю вам использовать IDE для запуска отладчика. В среде IDE вы можете начать отладку, нажав кнопку «Далее» для запуска, добавить точки останова, щелкнув строку, и графически просмотреть состояние потоков и переменных. (даже изменить их)

...