Он просто печатает код выхода в конце сеанса отладки, когда программа завершается. Или печатает exited normally
для 0
код выхода. См тест сеанса отладки для этой тестовой программы:
#include <stdlib.h>
int main(int argc, char *argv[]) {
return atoi(argv[1]);
}
Debug сессия:
[[email protected] ~]$ gdb -q ./a.out
Reading symbols from ./a.out...(no debugging symbols found)...done.
(gdb) r 0
Starting program: /home/ksemenov/a.out 0
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.23.1-10.fc24.x86_64
[Inferior 1 (process 19162) exited normally]
(gdb) r 1
Starting program: /home/ksemenov/a.out 1
[Inferior 1 (process 19166) exited with code 01]
(gdb) r 6
Starting program: /home/ksemenov/a.out 6
[Inferior 1 (process 19167) exited with code 06]
(gdb)
Ваш вопрос о том, как вывести значение выхода в БГД (который отвечал Том Tromey) или о том, как GDB получает эту ценность внутри? –