用Process Monitor解决注册表及文件访问问题

今天成功以WindbgProcess Monitor解决一个只有在windows7windows 2008 server R2才能重现的问题。现象是我的一个.NET Winform程序的Help按钮在在windows7windows 2008 server R2都不能弹出帮助。我用windbg attach到该进程,并且设置CLR Exception break. load sos后按help按钮,发现有System.UnauthorizedAcccessException, 并有注册表的路径。在Process Monitor同样发现Access Denied.

检查源代码,发现有Register.LocalMachine.CreateSubKey. 修改为OpenSubKeyOK了。实际上调用CreateSubKey是没必要的。使用ProcessMonitorwindbg可以使我们免于在64为平台上再搭建VS调试环境。而且windbg 很小,安装很快。

总之,如果是WindbgSOS可以使得.NET程序的调试很方便。还有很多的东西有待实践,例如.NET内存泄露,死锁等等难题。大部分情况下,但凡怀疑和注册表有关的,或者和文件访问有关的,我们都可以使用Process Monitor快速的检测出来,如果是.NET程序,可以使用WindbgSOS强大的功能来调试。

使用 ProcessMonitor可以很快地找到注册表以及文件访问方面的问题


原文地址:https://www.cnblogs.com/caoshenghe/p/1669196.html