Я хотел бы иметь gdb
сразу выполните исполняемый файл, как будто я ввел "выполненный" (мотивация: Мне не нравится вводить "выполненный").
Один путь состоит в том, чтобы передать команду по каналу к gdb
как это:
$ echo run | gdb myApp
Но проблема с этим подходом состоит в том, что Вы теряете интерактивность с gdb
, например, если точка останова инициировала или myApp
катастрофические отказы, gdb
выходы. Этот метод обсужден здесь.
Рассмотрение опций в --help
, Я не вижу способ сделать это, но возможно я пропускаю что-то.
gdb -ex run ./a.out
Если вам нужно пройти аргументы в AT
:
gdb -ex run --args ./a.out arg1 arg2 ...
Редактировать: Орион говорит, что это не работает на Mac OSX.
Флаг -EX
был доступен с GDB-6.4
(выпущен в 2005 году), но OSX использует вилку Apple GDB, а последний Xcode для Leopard содержит GDB 6.3.50-20050815 (Apple Version GDB-967)
, поэтому вы не повезете.
Создание тока GDB-7.0.1
Выпуск - это одно возможное решение. Просто обязательно прочитайте это .
Я бы использовал GDB-скрипт:
gdb -x your-script
где ваш сценарий содержит что-то вроде:
file a.out
b main
r
после этого у вас есть обычный интерактивный GDB-приглашение
Редактировать :
Вот оптимизация для по-настоящему ленива:
.gdbinit
в рабочем каталоге
. После этого вы просто запустите GDB в виде
GDB
... и GDB автоматически загружают и выполняет содержимое .gdbinit.