Внутрипроцессная трассировка системных вызовов с использованием цепочного загрузчика

В этой статье мы разберём небольшой инструмент для трассировки системных вызовов. В отличие от strace и аналогов, здесь трассировка будет происходить внутри процесса, без применения ptrace() или эквивалентных вещей. Должен добавить, что это всего лишь демонстрационный пример, поэтому на практике он и близко не сравнится с strace. В частности, он пока не может точно выводить в консоль аргументы для большинства системных вызовов.
Именно на примере системных вызовов удобно продемонстрировать цепочную загрузку, и на то есть три причины...


















