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

本文介绍使用Windbg和ProcessMonitor解决.NET Winform程序在Windows 7和2008 R2环境下Help按钮无法弹出帮助的问题。通过Windbg设置断点及ProcessMonitor监控,定位到注册表访问权限问题,并给出解决方案。

今天成功以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/archive/2010/02/18/1669196.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值