Process Explorer
转:http://www.cnblogs.com/iTBear/articles/2789151.html
这是一款由Sysinternals开发的Windows系统和应用程序监视工具,目前Sysinternals已经被微软收购,此款不仅结合了文件监视和注册表监视两个工具的功能,还增加了多项重要的增强功能,
此工具支持64位Windows系统很多人可能把这款工具只当成TaskManager(任务管理器)的替代品,其实这样只能说是高射炮打蚊子,大材小用了,作为windows开发工程师,我极力推荐在编码和调试过程中使用此工具,
下面介绍一下Process Explorer在开发过程中的用处。
一、Process Explorer的树形结构界面
1.准确的显示的进程的父子关系
2.通过颜色可以判断此进程处于的状态和类型,是挂起还是正在退出,是服务进程还是普通进程
二、显示进程的系统信息
1.显示进程的文件路径(Image Path)
2.显示进程命令行参数(Command Line)
3.显示进程是64位进程还是32位的(Image Type)
4.显示进程当前所在的Session ID(session ID)
5.显示进程当前的权限,是系统用户权限还是网络管理员权限还是普通管理员权限(User Name)
6.显示当前进程的Gdi对象个数,内核对象个数,线程个数
右键单击标题栏-选择Select Columns项,选择你要观察进程的某种特定的信息,这里有几个选项,常用的有Process Image和Process Memory这两个选项卡,其他的我就不截图举例了
三、显示当前进程所加载的DLL
1.通过这种方式可以观察,我们的进程是否被其他程序注入DLL
2.通过这种方式了解当前进程使用了那些编程技术,如图可见当前进程用到了Gdi+
3.可以修改Pane View的选项卡,让其显示更多的内容,比如DLL基地址,DLL内存相关信息等
选择View —> Lower Pane View —> DLLs
四、显示当前进程所占用的系统资源句柄
1.查看当前进程所占用的资源句柄表
2.可以分析进程的逻辑:如图当前TeamViewer的服务进程创建了一个Event事件,并且占用一个Log文件
3.可以检查自己的程序是否有内核句柄泄露
选择View —> Lower Pane View —> DLLs
五、操控进程以及显示进程的内部信息(这类信息是属于当前进程的)
1.可以结束当前进程,或者当前进程树
2.可以挂起、重启、从挂其中恢复一个进程
3.查看进程信息(如图-选择Properties)
4.可以看到当前进程的用户组信息
5.可以看到当前进程申请了哪些特权
6.选择Environment选项卡,可以看到当前进程的环境变量,如果自动化编译或者使用一些开源软件,查看其环境变量是很重要的一环。
右键单击进程
六、搜索功能(Ctrl+F)
为什么搜索功能单独拉出来说呢,我个人觉得这个功能在很多地方都可以用到,编码的时候可以查看哪个事件被谁占用了,直接搜事件名称就可以了,如果像删除一个目录怎么也删除不掉,
就是说某某文件被占用,那你可以搜索一下你需要删除的目录路径
如图:TeamViewer这个文件夹正在被一个服务占用,这样我只需要把这个服务停止,就可以删除了,常见的还有U盘被占用不让卸载等等
如果有需要的朋友可以到这里下载此工具 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?