Моя цель - определить при выполнении команды, какие файлы она считывает и записывает. В linux я могу сделать это, используя ptrace (с работой, сродни тому, что делает strace), а на freebsd и MacOS я могу сделать это с помощью команды ktrace system. Что бы вы использовали для получения этой информации в окнах?В Windows, как я могу отслеживать в C, какие файлы дочерний процесс читает и пишет?
Мои исследования пока показывают, что я либо использую интерфейс отладчика (аналогично ptrace разными способами), либо, возможно, ETW. Третьей альтернативой является вставка DLL для перехвата системных вызовов по мере их создания. К сожалению, у меня нет опыта догадываться о том, насколько сложным будет каждый из этих подходов.
Любые предложения?
Вероятно, достаточно ш с графическим интерфейсом? Попробуйте Windows Internals (filemon). – harper
как об использовании монитора ресурсов в Windows 7 или explorer процесса – GingerJack
Нет, GUI-инструмент недостаточен, я должен быть в состоянии сделать это из своей программы, которая написана на C (но при необходимости может использовать C++). –