用Process Monitor解决注册表及文件访问问题
2010-02-18 16:17
232 查看
今天成功以Windbg和Process Monitor解决一个只有在windows7和windows 2008 server R2才能重现的问题。现象是我的一个.NET Winform程序的Help按钮在在windows7和windows 2008 server R2都不能弹出帮助。我用windbg attach到该进程,并且设置CLR Exception break. load sos后按help按钮,发现有System.UnauthorizedAcccessException, 并有注册表的路径。在Process Monitor同样发现Access Denied.
检查源代码,发现有Register.LocalMachine.CreateSubKey. 修改为OpenSubKey就OK了。实际上调用CreateSubKey是没必要的。使用ProcessMonitor和windbg可以使我们免于在64为平台上再搭建VS调试环境。而且windbg 很小,安装很快。
总之,如果是Windbg和SOS可以使得.NET程序的调试很方便。还有很多的东西有待实践,例如.NET内存泄露,死锁等等难题。大部分情况下,但凡怀疑和注册表有关的,或者和文件访问有关的,我们都可以使用Process Monitor快速的检测出来,如果是.NET程序,可以使用Windbg和SOS强大的功能来调试。
使用 ProcessMonitor可以很快地找到注册表以及文件访问方面的问题
检查源代码,发现有Register.LocalMachine.CreateSubKey. 修改为OpenSubKey就OK了。实际上调用CreateSubKey是没必要的。使用ProcessMonitor和windbg可以使我们免于在64为平台上再搭建VS调试环境。而且windbg 很小,安装很快。
总之,如果是Windbg和SOS可以使得.NET程序的调试很方便。还有很多的东西有待实践,例如.NET内存泄露,死锁等等难题。大部分情况下,但凡怀疑和注册表有关的,或者和文件访问有关的,我们都可以使用Process Monitor快速的检测出来,如果是.NET程序,可以使用Windbg和SOS强大的功能来调试。
使用 ProcessMonitor可以很快地找到注册表以及文件访问方面的问题
相关文章推荐
- 利用WebBrowser网址访问问题及不同操作系统IE本地网络注册表解决
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法
- C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】
- 多进程同时访问文件并发问题解决方法
- 电脑无法访问局域网共享文件,提示0x800704cf错误的解决方法【实操已解决问题】 ...
- 通过修改Host文件解决主机头访问网站的问题
- 三层结构中解决同一解决方案不同项目中访问Web.config文件的问题
- 请求帮助:如何解决烦人的VS.NET2003编译时“无法将程序集复制到文件,另一个程序正在使用,进程无法访问”的问题?
- 如何解决win7无法访问windows 2003共享文件的问题
- 关于Windows无法访问指定设备路径或文件,您可能没有合适的权限访问问题解决<转>
- 解决ajax不能访问本地文件问题(利用js跨域原理)
- java上传文件到磁盘中,设置tomcat虚拟路径进行访问,解决重布项目图片消失问题
- jsp页面java+js实现文件下载(并附带解决下载文件名乱码问题-火狐浏览器正常访问)
- tp3.2.3 解决http://lx.com/后必须加index.php才能访问的问题,配置文件中忘了加index index.php index.html 等默认文件
- 彻底解决文件(夹)拒绝访问的问题(删除桌面淘宝网购,假IE图标)
- 应对32位程序在64位系统上访问注册表和文件自动转向问题
- 解决Win访问局域网共享文件老是提示密码错误的问题
- win10文件资源管理器只在任务栏呈最小化状态,无法访问问题解决
- 解决Visual Studio 调试时候不够直接访问Json文件的问题
- 解决IIS中部署WCF时,访问.svc文件的404错误问题