Я не знаю, как вам раньше удавалось установить fglrx под ядро 4.x, но fglrx официально не поддерживает ядро 4.x. До недавнего времени вы могли пропатчить установщик для работы с последним ядром:
Однако недавно было обнаружено, что драйвер ломается при компиляции с помощью gcc5 под Linux 4.2 или выше. Поскольку Fedora 23 по умолчанию использует ядро 4.2.x и gcc5, решения нет.
Можно было бы вручную скомпилировать gcc49 и использовать его для компиляции драйвера, но мне не удалось получить эту работу лично.
Пока я в одной лодке.
Вы можете передавать команды gdb в командной строке с опцией -ex
. Вам нужно повторить это для каждой команды. Это может быть полезно, когда вашей программе нужно прочитать стандартный ввод, поэтому вы не хотите его перенаправлять. Например, дляod -c
echo abc |
gdb -ex 'break main' -ex 'run -c' -ex bt -ex cont -ex quit od
Так что, в частности, для вашего вопроса вы можете использовать:
gdb -ex 'run arg1 arg2' -ex bt -ex quit./program
Команды можно было вводить через стандартный ввод:
#!/bin/sh
exec gdb -q <<EOF
file./program
run arg1 arg2
bt
quit
EOF
Или команды можно поместить в afile
и gdb
запускать с gdb -batch -x afile
, или если вы ненавидите переводы строк (и кодировщик обслуживания )с причудливой оболочкой, вы можете сделать все это в одном строка (другой способ выразить версию heredoc):
gdb -q <<< "file./program"$'\n'run$'\n'...
Чтобы передать аргументы вашей программе в командной строке GDB, используйте gdb --args
.
gdb --args./program arg1 arg2
bt