Как Strace интерпретирует аргументы системного вызова? - PullRequest
1 голос
/ 23 сентября 2011

Я знаю, что для реализации используется ptrace,

, и он может получать аргументы в регистрах,

, но они только числа,

, как преобразовывает straceих в буквальную информацию?

Это просто жесткий код для каждого системного вызова?

1 Ответ

2 голосов
/ 23 сентября 2011

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

...