我有一个.net应用程序,我也没有源代码。我对确定此应用程序正在访问的文件感兴趣。我认为调试器是一个很好的方法来做到这一点。我只在linux世界工作,对Windows调试器一无所知。我觉得应该有办法用windbg做到这一点,我知道如何使用gdb而不是windbg。非常感谢任何帮助或建议。
答案 0 :(得分:2)
如果您只想监控给定流程的文件系统活动,那么您将找不到比Process Monitor更好的功能。它也做得更多,而且它不受Sysinternals(现在的微软)的影响。
Process Monitor是一种先进的 显示的Windows监视工具 实时文件系统,注册表和 进程/线程活动。它结合了 两个遗产的特点 Sysinternals工具,Filemon和 Regmon,并添加了一个广泛的列表 增强包括丰富和 非破坏性过滤, 综合事件属性等 会话ID和用户名,可靠 流程信息,完整线程 具有集成符号支持的堆栈 对于每个操作,同时进行 记录到文件等等。它的 独特的强大功能将使 进程监控您的核心实用程序 系统故障排除和恶意软件 狩猎工具包。
答案 1 :(得分:0)
如果您只是想知道正在访问哪些文件,Stu是对的。 但是,如果您想了解有关调试.net应用程序的更多信息,可以在将SOS.dll加载到windbg中时在.net代码上放置断点。它比我在这里描述的更多,但你可以使用Google windbg和SOS.DLL来查找更多信息。 Tess Ferrandez有一个很棒的博客,你可能会发现它很有用:http://blogs.msdn.com/b/tess/