Мы используем библиотеку третьей части для рендеринга 3d. В этой библиотеке есть функция отслеживания памяти, которая отслеживает всю память, выделенную и освобожденную библиотекой во время выполнения. Это хорошая функция, так как она помогает, например, определить утечки памяти.
При вызове определенной функции из этой библиотеки создается файл журнала в текущем рабочем каталоге процесса. В последнее время я заметил, что этот файл появляется в нескольких разных местах, поэтому моей первой мыслью было, конечно, всегда устанавливать текущий рабочий каталог в папку, в которой я хочу, чтобы журнал отображался, и это прекрасно работает.
Однако оказывается, что этот файл все еще создается в разных местах, и вышеупомянутая функция никогда не вызывается программой. Следовательно, файл должен быть каким-то образом создан библиотекой без моего согласия. Создатель этой библиотеки говорит, что движок никогда не вызывает этот метод внутри себя.
Итак, чтобы доказать, что он не прав (в качестве альтернативы можно доказать, что я глупый (хотя и не в первый раз)), мне нужен способ отловить, когда именно создается этот файл. FindFirstChangeNotification () не подойдет, поскольку это даст мне только информацию о том, что что-то произошло в какой-то папке. В идеале я хотел бы (в процессе или вне процесса) перехватывать, когда это происходит, и каким-то образом вводить исключение процесса (например, заставить WinDbg перехватить это), поэтому я через callstack получаю нужную информацию.
Любые предложения приветствуются.
Ура! * * 1013