使用Sysinternals.ProcMon捕获C运行时函数调用

使用Sysinternals.ProcMon捕获C运行时函数调用,c,function,filter,runtime,procmon,C,Function,Filter,Runtime,Procmon,有没有一种方法可以获取ProcMon中捕获的运行时函数\u stat()。这些都比C运行时库低很多,所以我怀疑不是直接的,因为(正如@Preet Sangha解释的)它在CRT级别下工作。但是,它确实向您显示了一个调用堆栈,\u stat确实访问了一个文件。因此,如果ProcMon可以访问您的可执行符号,并且您知道要监视哪个文件,那么您可能会在该文件访问的调用堆栈中看到\u stat 如果这还不够,请进一步描述您的场景 请注意,在代码级别有用于挂接的工具-请参见谢谢您的回答,是否有C运行时函数监

有没有一种方法可以获取ProcMon中捕获的运行时函数
\u stat()。这些都比C运行时库低很多,所以我怀疑不是直接的,因为(正如@Preet Sangha解释的)它在CRT级别下工作。但是,它确实向您显示了一个调用堆栈,
\u stat
确实访问了一个文件。因此,如果ProcMon可以访问您的可执行符号,并且您知道要监视哪个文件,那么您可能会在该文件访问的调用堆栈中看到
\u stat

如果这还不够,请进一步描述您的场景


请注意,在代码级别有用于挂接的工具-请参见

谢谢您的回答,是否有C运行时函数监视器?谢谢,我正在使用_stat测试目录是否存在。我想我可以过滤目录名访问权限?@Chesnokov,当然可以。在过滤器窗口上,Path=>contains=>the_dir_name@Chesnokov,它对我有用。过滤器的列表中是否有一行看起来像“Path contains dir_name include”?请注意,dir_name可以只是最后一个子目录,而不是完整的路径。另外,尝试使用浏览器访问该目录(我刚才就是这么做的)。如果没有看到任何内容,则说明过滤器设置不正确。如果您确实看到了访问权限,那么代码可能根本没有访问该目录。如果是这种情况,请尝试监视进程中的所有文件系统活动(如果不是太多),并根据结果添加筛选器。感谢您的帮助,仅将最后一个目录名添加到Path中可以很好地与Windows资源管理器配合使用。我确信代码应该使用
\u stat
访问该文件夹,因为传递的文件夹参数是硬编码的。问题是进程是IIS(w3wp.exe),它使用互操作调用本机dll。本机dll调用
\u stat
检查是否存在特定目录。我在路径中找不到该目录column@Chesnokov,您确定IIS可以访问该路径吗?如果它位于不存在的驱动器、错误的UNC路径或未映射到运行IIS的用户的映射网络驱动器上,则ProcMon将无法捕获目录访问。