Попытка запустить отладку в gdb завершается с кодом 1
Пытаюсь освоить gdb по туториалу из книжки.
Написал простейший helloworld на C, скомпилил GCC без дополнительных аргументов.
Запускаю, gdb -q ./a.out, Затем когда я делаю
(gdb) b main
Breakpoint 1 at 0x113d
(gdb) run
Starting program: /run/media/source/a.out
exec: The term 'exec' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
During startup program exited with code 1.
Тут явно ошибка, связанная с тем что что-то в gdb запускается в powershell а не bash (у меня дефолтный шелл - powershell, но дело происходит на linux). Однако эта ошибка точно так же воспроизводится и при запуске из bash. Как её решить?
Ответы (1 шт):
Как мельком замечается в документации gdb (вольный перевод):
На Unix-системах GDB запускает ваши программы с помощью оболочки, указанной в переменной среды
SHELL, если она задана (или/bin/shв противном случае).
т.о. для корректной работы при запуске gdb в переменной среды SHELL должна быть указана маломальски posix-совместимая оболочка. это можно сделать, запустив gdb как-то так:
SHELL=/bin/bash gdb -q ./a.out