В Unix-подобных операционных системах общение программы с внешним миром и операционной системой происходит через небольшой набор функций — системных вызовов. А значит, в отладочных целях полезно бывает подсмотреть за выполняемыми процессами системными вызовами.
Следить за «интимной жизнью» программ на Linux помогает утилита strace
, которой и посвящена эта статья. К примерам использования «шпионского» оборудования прилагаются краткая история strace
и описание устройства подобных программ.