Вы можете просто использовать трюк с оболочкой для последовательной передачи нескольких команд gdb
, новая строка отделяется от стандартного ввода gdb
для использования. Например, для одного файла просто выполните
printf '%s\n' 'b *0xdeadbeef' 'r < file2' 'x/3a $esp' | gdb ./file1
Для нескольких входных файлов и подачи одного файла в gdb
за один раз, начиная с имени file*
. Используйте соответствующее выражение glob на основе вашего фактического имени файла
for file in file*; do
printf '%s\n' 'b *0xdeadbeef' 'r < file2' 'x/3a $esp' | gdb "$file"
done