Вопрос
В настоящее время я работаю с 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), поэтому у вас есть правильный исходный файл.