Единственный способ узнать это - изучить источник .
Вы также можете собрать и отладить его самостоятельно.Шаг за шагом кода, и вы будете точно знать, как он делает то, что он делает.
Чтение источника GDB не для слабонервных - он переполнен макросамии интенсивно использует libbfd
, что само по себе трудно понять.
Это необходимо, потому что он переносим (и, в частности, строит и работает на платформах, которые вообще не имеют ptrace()
).