как использовать strace, чтобы узнать о системных вызовах в моей C-программе - PullRequest
2 голосов
/ 16 мая 2010

Я хотел бы знать, как использовать strace для отслеживания системных вызовов в моей C-программе и как использовать ее для отладки моего кода.

Ответы [ 3 ]

8 голосов
/ 16 мая 2010

Запустив вашу программу через strace:

strace path/to/your/executable

например. strace ./myapp

4 голосов
/ 16 мая 2010

Пробег strace [arguments to strace] your_program [arguments to your program]. Смотрите man strace или просто strace без аргументов для возможных аргументов.

0 голосов
/ 16 мая 2010

Strace рад видеть системные вызовы. Как только вы поймете, как это работает, обязательно посмотрите также ltrace , который показывает вызовы динамически связанных библиотек.

Вместе они дают вам очень хорошее понимание того, что делает любая конкретная программа (конечно, если она не связана статически).

...