Я запустил процесс Centos, который продолжается уже несколько часов. Я использовал gcc -g
для создания общей библиотеки и исполняемого файла. Я запустил процесс GDB, введя gdb ./MatchUpAccurate
. После запуска GDB я ввожу run -input XXXXXXX -fileloc YYYYY -version 5
.
Когда я ввожу ps -ef
, я вижу два идентификатора процесса, один для gdb ./MatchUpAccurate.exe
, а другой для ./MatchUpAccurate.exe -input XXXXXXX -fileloc YYYYY -version 5
.
Поскольку дочерний процесс выполняется уже несколько часов, я хотел бы присоединиться к нему, чтобы я мог проверить значение его переменных и посмотреть, какие инструкции он выполняет в данный момент.
Я прочитал некоторую документацию о том, как использовать gdb для присоединения уже запущенного процесса. Однако все примеры не имеют аргументов командной строки. Мне было интересно, как использовать GDB для присоединения процесса с аргументами командной строки. Я хотел бы иметь возможность устанавливать точки останова, проверять переменные, просматривать стек вызовов и шагать по пути выполнения, не убивая исходный процесс. Спасибо.