首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用windbg从挂起转储中找到句柄所有者?

要使用Windbg从挂起转储中找到句柄所有者,请按照以下步骤操作:

  1. 首先,确保已经安装了Windows调试工具,并且已经将其添加到系统的PATH环境变量中。windbg -z <dump_file_name>.dmp其中,<dump_file_name>是转储文件的名称(不包括.dmp扩展名)。 4. 在Windbg中,使用以下命令加载符号文件:.symfix .reload这将加载正确的符号文件,以便在调试过程中获得更多信息。 5. 使用以下命令查找句柄所有者:!handle<handle_value>其中,<handle_value>是要查找的句柄值。 6. 如果需要查找更多信息,可以使用以下命令:!htrace<handle_value>这将显示句柄的使用历史记录。 7. 如果需要查找特定进程中的句柄所有者,请使用以下命令:!process<process_id>其中,<process_id>是要查找的进程ID。 8. 如果需要查找特定线程中的句柄所有者,请使用以下命令:!thread<thread_id>其中,<thread_id>是要查找的线程ID。
  2. 打开命令提示符,并使用cd命令导航到转储文件所在的目录。
  3. 使用以下命令启动Windbg:

通过以上步骤,您可以使用Windbg从挂起转储中找到句柄所有者。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

10个用于C#.NET开发的基本调试工具

ProcDump ProcDump是用于保存文件的命令行工具。它可以立即或在触发器上生成。例如,在崩溃或挂起时创建。这是我推荐的用于捕获的工具。...以下是它的一些功能: 立即创建 创建具有特定间隔的多个(例如3个,相隔5秒) 一旦超过CPU阈值,就创建 如果进程挂起,则创建 崩溃时创建 若要查找有关ProcDump和Dump...你可以使用它来查看服务器端如何处理极端情况。或重现特定请求上发生的问题。 哪一个没有提到 你可能会想知道我未提及的某些工具,如果你已经做开发很长时间了,你可能会想到WinDbg。...你可以将WinDbg复制到生产计算机上,并快速调查文件。它不需要像Visual Studio这样的大型安装。...但是我总是发现自己将文件复制到我的开发机器上,并使用内存分析器或者Visual Studio打开它们。这样更加有效。因此,我认为WinDbg不再是.NET开发所必需的调试工具。

2.5K50

系统学习Windows客户端开发

不建议复用窗口管理对象 CreateWindow返回空句柄而GetLastError返回0咋回事 SetTimer得注意的两个坑 数据交换 详解JsonCpp库的使用 数据持久化 20分钟掌握sqlite...库的使用 动态库和静态库 动态库与静态库的区别 程序无法启动定位技巧 进程和线程 一个简单实用的线程基类 独立子线程设计 多线程下互斥访问共享资源 自动解锁与提前解锁 C++11 async那些奇怪的问题...网络 一个线程搞定TCP服务器 为什么使用TCP还要自实现心跳 内存管理 Windows栈区存储格式 内存泄漏检测工具DrMemory 崩溃分析 Windbg常用命令(崩溃分析篇) Windows...栈区存储格式 Windbg分析不完整堆栈 Windbg分析被捕获的异常堆栈 崩溃分析之非法函数调用 崩溃文件收集 调试分析 远程调试 程序自动退出定位技巧 再谈程序自动退出定位技巧 调试子进程刚启动的代码...软技能 如何有效提升工作效率 其它 发布部分新特性 5G优势及带来的变化 C盘瘦身之大文件夹删除法 高效查看日志排错

2.9K30

使用ProcDump工具解决Windows应用程序崩溃

而且也同ADPlus以及DebugDiag一样,它可以对一个挂起的应用程序强制进行进程。但和之前的任何工具不同的是,ProcDump可以在CPU的活动峰值达到一个指定的级别时,对一个进程进行。...当不带任何参数时,ProcDump工具会在保持应用程序执行的情况下,强制进行一个内存。 通过使用-h参数,ProcDump会检测一个挂起的Windows应用程序,并强制进行内存。...使用-e参数可以使得ProcDump去检测应用程序的一个未处理的异常,并获取进程。通过接下来对进程的分析,您可以弄清哪些程序、DLL以及错误情况在中断时发生了。...有三个参数可以实现这一功能: -c 在产生一个进程前,指定CPU达到的阈值。...dd996900 New ProcDump version 5.0 released, using the –f parameter 介绍一个好用的抓取dump的工具-ProcDump 关于无法打印的案例 Windbg

2.6K50

volatility 各个选项的详解

deskscan:tagDESKTOP持扫描(Poolscaner) devicetree:显示设备树信息 dlldump:进程地址空间动态链接库 dlllist...eventhooks:打印Windows事件hook详细信息 evtlogs:提取Windows事件日志(仅支持XP/2003) filescan:提取文件对象池信息 gahti:用户句柄类型信息...(句柄是一种智能的指针) hashdump:内存中Windows账户密码哈希 hibinfo:休眠文件信息 hivedump:打印注册表配置单元信息 ....KDBG值 kpcrscan:搜索和潜在KPCR值 ldrmodules:检测未链接的动态链接DLL lsadump:注册表中提取LSA密钥信息(已解密) machoinfo...Qemu信息 raw2dmp:将物理内存原生数据转换为windbg崩溃格式 screenshot:基于GDI Windows的虚拟屏幕截图保存 servicediff:Windows

4.8K20

Windows下dump文件生成与分析

一 生成Dump文件 生成dump文件有三种方式:任务管理器生成,windbg抓取,源码中添加dump代码。需要根据实际情况选择。...1.1 任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程。右键—>创建文件。 此时会在默认的目录下创建出一个dump文件。...1.2 WinDbg抓取 程序运行崩溃后,先不关闭程序,将WinDbg附加到改进程上。 执行命令:.dump –ma Test.dmp ,则会产生一个Test.dmp的文件。...如下程序在程序异常时会自行一个名为Test.dmp的dump文件。...文件后还需要设置符号表文件路径和源代码路径: (1) 当把pdb文件与dmp文件放入同一目录下时,就不需设置其路径,否则需要设置 工具->选项->调试->符号: (2)还需设置源代码路径: 属性->调试源代码: 这样点击“使用仅限本机进行调试

3.4K20

创建.NET程序Dump的几种姿势

下载 ProcDump: ProcDump[4] 使用进程名或者进程 Id 创建 dump procdump notepad procdump 4572 调试诊断工具 调试诊断工具允许在满足某个条件时生成一个文件...Visual Studio 如果你正在调试一个应用程序,你可以直接 Visual Studio 保存一个文件。打开 "调试 "菜单,点击 "将另存为... "菜单项。...WinDbg 如果你正在使用 WinDbg 调试一个应用程序,你可以使用.dump命令来生成一个文件。...出错时自动创建崩溃文件[6] "Tip: 在出错时自动创建一个崩溃文件"。...选择你的应用程序服务 转到 "诊断和解决问题" 选择 "诊断工具" 选择 "收集内存" 点击 "收集内存 "按钮 几分钟后,在配置的存储账户中可用。

84230

渗透新思路 | 仿真环境下内存分析和模糊测试的全记录

如果你了解并使用过这些工具库,那么你肯定非常熟悉内存和模糊测试的相关内容。在这篇文章中,我将跟大家分享一种仿真环境下内存分析和模糊测试的方法。...完全配置好整个实验环境之后,我们就可以开始使用下列方法进行深入挖掘和研究: 1、使用udmp-parser解析用户模式进程; 2、使用kdmp-parser解析内核内存; 3、使用这些信息重建一个可行的环境...这两款工具分别针对的是用户模式(WinDbg使用.dump /m)和内核模式(WinDbg使用.dump /f|/ka)。...首先,KdNet会话开始,我们可以轻松创建一个。...构建BochsCPU会话 我们可以使用kdmp_parser.KernelDumpParser来解析,因此的解析工作就交给它了。

1600

dump LSASS

尽管必须使用“ .dmp”扩展名,但可以在参数中控制其余的文件名: ProcDump是一个命令行实用程序,其主要目的是监视应用程序中的CPU尖峰并在尖峰期间生成崩溃,管理员或开发人员可以使用它来确定尖峰原因...ProcDump还包括挂起的窗口监视(使用Windows和Task Manager使用的相同的窗口挂起定义),未处理的异常监视,并且可以基于系统性能计数器的值生成。...然后使用sqldumper.exe ? 40标志将创建Mimikatz兼容的文件。...全内存 将整个RAM到磁盘是LSASS获取凭证的另一种方法。这种方法用得不多,因为生成完整的会花费一些时间并占用大量磁盘空间。...https://github.com/jschicht/RawCopy VMEM / VMSN文件 可以为虚拟机快照或挂起快照时创建的内存文件中提取完整的内存

1.9K30

Windbg来分析.Net程序的dump

什么是Windbg WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。...Windbg可以解决以下问题 ◆ 内存高 ◆ CPU高 ◆ 程序异常 ◆ 程序Hang死 3. 使用windbg进行调试分析的两种方式 使用windbg调试器attach到需要调试的进程。...(会暂停进程的运行) 抓取进程的dump文件,使用windbg分析dump 一.准备 1.下载 官网地址: https://developer.microsoft.com/zh-cn/windows/hardware...默认的dump格式包括线程和句柄信息. -c 在CPU使用率到达这个阀值的时候, 生成dump文件. -s CPU阀值必须持续多少秒才抓取dump文件....任务管理器抓取 可在任务管理器进程右键进程,点击创建文件,系统会自动抓取和保存,保存完成会弹出对话框提示保存路径 ?

2.5K60

新的反调试

另一个好处是该线程也不会被挂起NtDebugActiveProcess!据我所知,一旦使用该线程创建了线程,就无法查询或禁用该标志,因此您不能对此做太多事情。...就其有用性而言,我想说这只是防止的一个好方法,当您在Processhacker中单击“暂停”时,会引起混乱,并且该过程继续进行,就像什么也没发生一样。...0, 0, 0, nullptr); NtSuspendProcess(NtCurrentProcess()); 多挂点我 继续保持行为不检点的趋势NtSuspendProcess,我们将再次滥用它如何检测我们的流程是否被暂停...WinDbg-在连接时被检测到。 x64dbg-暂停按钮变得粗略,并带有诸如“程序未运行”之类的错误消息,直到您手动切换到主线程为止。...ScyllaHide-使用较旧的版本NtSuspendProcess并导致将其检测到,但是在我报告后已修复。

1.6K81

内核漏洞利用:通过WARBIRD在Windows 10上提升权限

搭建实验环境 为了能搭建实验环境,我们需要一些虚拟机: Windows 10 Creators Update x86 - 这是靶机 带有WinDBG的Windows系统 - 这个供调试使用 在靶机上,我们需要使用以下命令启用...了解这个对于利用来说是非常重要的,我们需要理解进程注入是如何运作的,以及如何使用这种技术让NTVDM在其地址空间执行我们的代码,从而允许我们使用NULL映射页面。...WriteProcessMemory.aspx):提供一个地址和一个进程句柄,这个调用可以允许我们将数据复制到远程进程地址空间。...现在我们需要构建注入工具: 1.使用OpenProcess获取NTVDM进程的句柄。...我们可以使用下方命令这些信息: dt nt!

1.5K80

.Net性能调优-垃圾回收介绍

逻辑上称为第3代 包含 短生存期对象,即新分配的对象 短生存期对象,第0代回收后,未被回收的对象升级为第1代。 长生存期的对象,第一代回收后,未被回收的对象升级为第2代。...代回收之后仍然没有足够的空间存放新对象(此时会先回收第1代,再回收第2代) 调用GC.Collect方法 达到LOH回收条件 系统内存不足 达到第2代回收条件 大型对象内存分配达到阈值 回收方式 前台垃圾回收,当前托管线程被挂起...前台垃圾回收,当前托管线程被挂起 后台垃圾回收,当前托管线程正常执行 同第二代 想要判断一个对象是否为大对象,可通过以下代码查看 var o = new Byte[85000]; Console.WriteLine...,通过检查应用程序的根来确定不再使用的对象 应用程序的根包括:静态字段、局部变量、CPU 寄存器、GC 句柄和终结队列 释放步骤 - 列出不可访问对象和幸存对象的地址块并**标记** - 使用内存复制功能压缩可以访问的对象到不可访问的地址块中...,适用于windows平台 使用SOS调试,抓取dump文件后用WinDbg进行分析诊断,适用范围较广,可看到最全的内存信息 .Net CLI工具dotnet-counters,可以看到大概的性能指标数据统计结果

36630

获取和分析Dump的几种工具简介

其中内核模式Dump是操作系统创建的崩溃,例如蓝屏Dump。而在我们调试或Troubleshooting过程中使用的Dump是用户模式Dump,又分为Full Dump和Mini Dump。...默认的dump格式包括线程和句柄信息. -c 在CPU使用率到达这个阀值的时候, 生成dump文件. -s CPU阀值必须持续多少秒才抓取dump文件....2.WinDbg WinDbg也是微软公司的用于软件开发调试的工具,在分析Dump文件领域受到广泛的使用。其下载地址为官方下载地址,其是一个SDK中的一个组成部分,也可以百度之进行单独下载。...WinDbg下载后应该是一个msi文件,在win7版本以上操作系统中可以直接双击安装。安装后在开始菜单中就可以选择WinDbg使用了。 在使用WinDbg时第一步需要做的就是设置符号文件的位置。...可以参考的资料有windbg分析dump操作流程以及使用Windbg解析dump文件 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

14.5K20

rp-bf:一款Windows下辅助进行ROP gadgets搜索的Rust库

build命令完成代码构建: cargo build --release 工具运行机制 rp-bf能够根据一个进程快照来模拟目标代码,并能够迭代快照中找到的每一个内存区域,然后将其传递给用户模块。...我们可以直接使用Windows调试器生成快照,在Windbg中运行你的目标,然后在所需状态下的所需位置生成崩溃(.dump/ma)即可。...搜索算法 rp-bf能够遍历崩溃中找到的所有内存区域,然后在模拟器中重新创建相同的执行环境。接下来,它会调用用户的pre条件,并持续执行,直到模拟器退出。...; // ... } } } 用户模式Windows崩溃模拟代码 该工具所使用的模拟器都使用了bochscpu库的Bochs CPU模拟器。...为了在Bochs中重新创建执行环境,rp-bf将构建页面表以重新创建用户模式中可用的相同虚拟环境。

14010

记一次调试资源管理器未响应经验

这部分请看 dotnet 代码调试方法 通过 WinDbg 打开线程界面和堆栈界面,可以看到线程在等待 ? 这里是如何判断主线程是哪个线程?...通过这个方法发现了资源管理器不是在等待自己进程内的线程,这和我上面说的一样,有这么多用户的系统的稳当性是很重要 另一个小伙伴通过资源管理器拿到文件,通过文件可以使用 WinDbg 调试到对应的内存对应的变量和调用方法的局部变量...那么是如何恢复的,我怂恿伟霖大佬用 WinDbg 附加调试到点击任务栏看这个进程在做什么,不过他拒绝了我这个逗比方法,因为在使用 WinDbg 调试这么长的步骤,是需要用很长的时间 刚才的测试步骤还有一步是点击任务栏恢复之后...,等待一段时间,资源管理器又不能使用 那么资源管理器可以使用到不可以使用之间发生了什么,资源管理器是在做了什么事情,然后就未响应 用微软极品工具箱 的 Process Monitor 可以知道某个进程访问的文件...使用二分法注意控制变量,也需要了解业务。如果做 Windows 开发,需要的知识会虐前端几倍,系统到驱动,整个程序是如何运行的到系统机制

1K20

非官方Mimikatz指南和命令参考

LSADUMP::LSA –要求LSA服务器检索SAM / AD企业(正常,即时修补或注入).用于域控制器或lsass.dmp文件中转所有Active Directory域凭据.也用于通过参数/...SAM)数据库,并转本地帐户的凭据.这用于Windows计算机上的所有本地凭据....LSADUMP::Trust –要求LSA服务器检索信任验证信息(正常或即时修补).所有关联的信任(域/林)的信任密钥(密码)....TOKEN::List –列出系统的所有令牌 TOKEN::Elevate –模拟令牌.用于将权限提升为SYSTEM(默认)或在框中找到域管理员令牌 TOKEN::Elevate / domainadmin...为了成功创建此Silver Ticket,需要通过AD域或通过在本地系统上运行Mimikatz来发现adsmswin2k8r2.lab.adsecurity.org的AD计算机帐户密码哈希,

2.2K20

使用Postgres做定时备份和脚本

这样会导致恢复非常缓慢,它主要用于制作那种可以用于其它非 PostgreSQL 数据库的。 -f file --file=file 把输出发往指定的文件。如果忽略这些,则使用标准输出。...如果你需要跨越版本检查时才使用这个选项( 而且如 pg_dump 失效,别说我没警告你)。 -n namespace --schema=schema 只 schema 的内容。...如果没有声明这个选项,所有目标数据库中的非系统模式都会被出来。 注意: 在这个模式里,pg_dump 并不试图任何其它选定模式可能依赖的数据库对象。...这样的结果更加复合标准,但是依赖中的对象的历史,可能不能正确恢复。 -Z 0..9 --compress=0..9 声明在那些支持压缩的格式中使用的压缩级别。...这样令与标准兼容的更好,但是根据中对象的历史,这个可能不能恰当地恢复。

1.9K10

JVM生成的这3种文件,你都见过吗?

,在哪里使用它们,它们看起来如何如何捕获它们,如何分析它们和它们的差异是什么。...线程文件主要用于排除生产问题,例如 CPU 峰值、应用程序中的无响应性、响应时间差、线程挂起、高内存消耗。 如何生成线程文件? 使用线程最常见的选择是使用“ jstack”工具。...以下是使用最广泛的线程分析工具: fastThread、 Samurai、 IBM Thread & Monitor analyzer、 Visual VM 堆(Heap dump) 什么是堆...所以你实际上不能阅读它) 分析堆能解决什么问题? 堆主要用于排除与内存有关的 OutOfMemoryError 问题 如何生成堆文件? 使用最常见的选择是使用“ jmap”工具。...因此,您必须使用分析工具,最广泛的堆分析工具有: Eclipse MAT、 HeapHero 和 JVisualVM。

70620
领券