【发布时间】:2010-09-11 19:56:40
【问题描述】:
我有一个 .net 应用程序,但我也没有源代码。我有兴趣确定此应用程序正在访问哪些文件。我认为调试器将是执行此操作的好方法。我只在 linux 世界工作,对 windows 调试器一无所知。我觉得应该有一种方法可以使用windbg 来做到这一点,我知道我将如何使用gdb 但不使用windbg。非常感谢任何帮助或建议。
【问题讨论】:
我有一个 .net 应用程序,但我也没有源代码。我有兴趣确定此应用程序正在访问哪些文件。我认为调试器将是执行此操作的好方法。我只在 linux 世界工作,对 windows 调试器一无所知。我觉得应该有一种方法可以使用windbg 来做到这一点,我知道我将如何使用gdb 但不使用windbg。非常感谢任何帮助或建议。
【问题讨论】:
如果您只想监视给定进程的文件系统活动,那么您找不到比Process Monitor 更好的东西了。它还可以做更多事情,而且它从 Sysinternals(现在的 Microsoft)免费获得。
进程监视器是一种高级 用于显示的 Windows 监控工具 实时文件系统、注册表和 进程/线程活动。它结合了 两个遗产的特点 Sysinternals 实用程序、Filemon 和 Regmon,并添加了一个广泛的列表 增强功能包括丰富和 无损过滤, 综合事件属性,例如 会话 ID 和用户名,可靠 进程信息,全线程 具有集成符号支持的堆栈 对于每个操作,同时 记录到文件等等。它的 独特的强大功能将使 进程监控器中的核心实用程序 系统故障排除和恶意软件 狩猎工具包。
【讨论】:
如果您只想知道正在访问哪些文件,Stu 是正确的。 但是如果您想了解更多关于调试 .net 应用程序的信息,可以在将 SOS.dll 加载到 windbg 时在 .net 代码上放置断点。它涉及的内容比我在这里描述的要多,但是您可以通过 Google windbg 和 SOS.DLL 找到更多信息。 Tess Ferrandez 有一个很棒的博客,您可能会发现它也很有用:http://blogs.msdn.com/b/tess/
【讨论】: