Вопрос

В настоящее время я работаю с NS-2 (симулятором сети) и хотел использовать опцию tui в gdb, чтобы я мог просматривать код курса во время отладки. (Так же, как Visual Studio)

На данный момент окно исходного кода пустое, когда я запускаю " gdb -tui " , Однако я могу увидеть файл, когда я делаю " список " в GDB, но я не могу заставить его автоматически перейти к файлу и указать место разрыва.

Есть идеи, как это сделать?

Это было полезно?

Решение

Хотя я не уверен насчет TUI GDB, если вы знакомы с vi, обязательно посмотрите CGDB . Это интерфейс TUI для GDB, использующий привязки клавиш в стиле vi.

Чтобы установить точку останова в CGDB, просто нажмите escape (конечно), перейдите к строке, по которой вы хотите разбить, а затем нажмите пробел!

Другие советы

Вы пробовали комбинацию Ctrl-X A ? Он говорит GDB, чтобы войти / выйти из режима TUI.

Запустите свой исполняемый файл с помощью gdb как:

$gdb -tui ./executable_name

Исходный код появится, как только вы выполните команду gdb : " запустите " на терминале GDB.

Было бы лучше, если бы вы поставили точку останова в какой-то строке (скажем, в функции main () ), а затем выполнили " run " ;: исходный код теперь будет виден.

Вы всегда можете дважды проверить, чтобы в elf-файле содержались правильные данные.

Допустим, вы сломали свою программу в каком-то месте, и там вы получите некоторое чтение на компьютере (счетчик программ). Это значение может быть перепроверено с помощью addr2line (в binutils), поэтому у вас есть правильный исходный файл.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top