当前位置: 首页 > news >正文

[WinDBG 技巧] 列举所有Handle(句柄)以及查看Handle 信息

WinDBG的 !handle 命令可以让你方便调试句柄(handle)。

查看进程内所有句柄, 输入命令行

0:014> !handle
Handle 4
Type Directory
Handle 8
Type Process
Handle c
Type Key
Handle 10
Type Mutant
Handle 14
Type ALPC Port
Handle 18
Type Key
Handle 1c
Type Event
Handle 20
Type Key

... (省略)

Handle 7e0
Type Mutant
392 Handles
Type Count
None 17
Event 134
Section 47
File 35
Directory 3
Mutant 34
WindowStation 2
Semaphore 24
Key 47
Token 1
Process 3
Thread 27
Desktop 1
IoCompletion 4
Timer 5
Job 1
KeyedEvent 1
TpWorkerFactory6


从WinDBG输出结果我们可以看到所有句柄的类型和值,以及统计信息(一共392个handle,其中有35个文件句柄,47个注册表句柄 .... )。

如果想查看某个句柄的详细信息, 可以用命令:

0:014> !handle 0x5c8 f
Handle 5c8
Type Key
Attributes 0
GrantedAccess0x20019:
ReadControl
QueryValue,EnumSubKey,Notify
HandleCount 2
PointerCount 3
Name \REGISTRY\USER\S-1-5-21-2127521184-1604012920-1887927527-2966534\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
Object Specific Information
Key last write time: 16:52:14. 5/20/2009
Key name FileExts

0x5c8 是句柄的值, 参数f 表示显示全部信息。 我们可以看到句柄0x5c8 是注册表句柄,路径为\REGISTRY\USER\S-1-5-21-2127521184-1604012920-1887927527-2966534\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts。

值得一提的是,WinDBG 还提供了!htrace 命令,可以很方便来用检查句柄泄露(Handle Leak), 下次再写篇blog 专门介绍 !htrace

>> 原创文章的版权属于作者,转载请注明出处(http://blog.csdn.net/WinGeek/), 谢谢。 <<

相关文章:

  • Xamarin Dropdown menu
  • [IE 技巧] 显示/隐藏IE 的菜单/工具栏
  • azure 机器学习算法分类
  • AutoFac 简单好用的IOC
  • 使用Xamarin Forms+XLabs 完成 Camara access
  • 服务器部署MVC API 遇到IIS 403.14 错误
  • 利用udev、sys动态创建linux设备结点
  • 创建第一个azure hadoop insight
  • ARM linux系统调用的实现原理
  • 嵌入式linux应用开发之:初识Qt
  • 内核栈的使用
  • IIS 7 ‘Handler XXX has a bad module XXX in its module list’
  • C# 使用 doggleReport 生成pdf报表
  • 在nand flash上实现JFFS2根文件文件系统
  • window API判断系统是否为闲置状态
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • CentOS 7 防火墙操作
  • centos安装java运行环境jdk+tomcat
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java基本数据类型之Number
  • Vue2.x学习三:事件处理生命周期钩子
  • vue学习系列(二)vue-cli
  • XML已死 ?
  • 前端_面试
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端相关框架总和
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 三栏布局总结
  • 深度解析利用ES6进行Promise封装总结
  • 思考 CSS 架构
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 数据可视化之下发图实践
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #LLM入门|Prompt#3.3_存储_Memory
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (第61天)多租户架构(CDB/PDB)
  • (二)正点原子I.MX6ULL u-boot移植
  • (实战篇)如何缓存数据
  • (原創) 物件導向與老子思想 (OO)
  • (转)编辑寄语:因为爱心,所以美丽
  • .Net CF下精确的计时器
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .sh 的运行
  • [2]十道算法题【Java实现】
  • [ajaxupload] - 上传文件同时附件参数值
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [BUAA软工]第一次博客作业---阅读《构建之法》