Я знаю, что для реализации используется ptrace,
ptrace
, и он может получать аргументы в регистрах,
, но они только числа,
, как преобразовывает straceих в буквальную информацию?
Это просто жесткий код для каждого системного вызова?
В основном, да, это жестко закодировано.Если вы посмотрите на исходный код , вы увидите большие таблицы системных вызовов и большие операторы switch, которые знают, как декодировать все их различные аргументы и возвращать значения для нескольких различных ОС и процессоров