我想跟踪/记录从用户模式到内核模式的API调用的整个流程。 例如,如果用户模式应用程序调用FindFirstFile()API,我想记录以下内容:
FindFirstFile - > NtQueryDirectoryFile - > SYSCALL - > KiSystemService - > KiFastCallEntry - > NtQueryDirectoryFile - > IRP - > ...
今天是否有任何程序可以做到这一点? (Rohitab API Monitor可以执行用户模式API跟踪,但不能同时执行这两种操作)。 如果没有,开发这种能力的最优雅方式是什么?
答案 0 :(得分:1)
由于ProcExplorer提供完整的线程跟踪,人们也可以这样做。 我发现这个网站解释了如何实现内核模式GetThreadContext()以完成堆栈图片(使用StackWalk64)。
http://blog.airesoft.co.uk/2009/02/grabbing-kernel-thread-contexts-the-process-explorer-way/#note1
答案 1 :(得分:0)
是的,你可以通过使用windbg来做到这一点 这是来自microsoft的程序,可以调试用户模式以及内核模式。
你可以从这里开始。
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg
如果你想阅读这个并看到这样做的一些例子,你也可以在这里看到。
祝你好运:-)