При запуске GDB отладчик будет печатать текущую строку, чтобы дать вам указание, где он находится сейчас.
Видя, как я на Mavericks, GDB, похоже, не вариант, и поэтому я вынужден использовать LLDB. Мой вопрос: как мне получить подобное поведение от LLDB?
В настоящее время все, что он делает, это печатать 7 или так строк кода со стрелкой, указывающей на текущую строку, вместо того, чтобы просто печатать ее линию, которая довольно захламлена, чтобы посмотреть. LLDB также, похоже, игнорирует всю продукцию, произведенную printf
Есть ли способ добиться того же или аналогичных результатов с использованием LLDB?
Я не думаю, что заданный вами вопрос - именно то, что вы намеревались. Я предполагаю, что вы имеете в виду "Как заставить LLDB печатать ТОЛЬКО текущую строку", поскольку, как вы отметили, он всегда печатает текущую строку вместе с некоторыми линиями контекста.
Во всяком случае, сколько строк источника печатается при остановке, контролируется двумя настройками:
stop-line-count-after -- The number of sources lines to display that come after the current source line when displaying a stopped context.
stop-line-count-before -- The number of sources lines to display that come before the current source line when displaying a stopped context.
На самом деле это не совсем правильно, поскольку установка обоих параметров на 0 не показывает исходных строк, но установка "после" на 1 показывает две стоп-линии. Кто-то, по-видимому, хотел показать, что нет строк источника, но не хотел добавлять дополнительную настройку.
Во всяком случае, вы не можете получить только одну строку, но вы можете получить ее до двух.
lldb
регулярно, и хотя у него есть некоторые «причуды» (например, приглашение появляется раньше других выходных данных - но только иногда). Это, безусловно, показывает мне, где в коде я нахожусь, показывая 5 строк кода и стрелку к строке, в которой я нахожусь.