首页 技术 正文
技术 2022年11月8日
0 收藏 468 点赞 1,968 浏览 2387 个字

使用windbg导出dump文件

.dump /ma D:\testdump.dmp

gchandles命令列出句柄,同时列出句柄引用的对象,演示代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Data;
using System.Runtime.InteropServices;public class Example
{
static void Main(string[] args)
{
int[] arry = new int[];
for (int i = ; i < ; i++)
{
arry[i] = i;
}
GCHandle h1 = GCHandle.Alloc(arry, GCHandleType.Pinned);
Console.ReadKey();
}
}

windbg附加后,运行至ReadKey处,运行GCHandles

0:000> !gchandles
          Handle Type                  Object     Size             Data Type
00000000000a13a8 Strong      00000000027f2070       64                  System.Security.PermissionSet
00000000000a13b0 Strong      00000000027f1440       48                  System.SharedStatics
00000000000a13b8 Strong      00000000027f1368      160                  System.Threading.ThreadAbortException
00000000000a13c0 Strong      00000000027f12c8      160                  System.Threading.ThreadAbortException
00000000000a13c8 Strong      00000000027f1228      160                  System.ExecutionEngineException
00000000000a13d0 Strong      00000000027f1188      160                  System.StackOverflowException
00000000000a13d8 Strong      00000000027f10e8      160                  System.OutOfMemoryException
00000000000a13e0 Strong      00000000027f1048      160                  System.Exception
00000000000a13f8 Strong      00000000027f1538      216                  System.AppDomain
00000000000a17d0 Pinned      00000000027f2ca8       64                  System.Int32[]
00000000000a17d8 Pinned      00000000127f5710    16352                  System.Object[]
00000000000a17e0 Pinned      00000000127f36f0     8192                  System.Object[]
00000000000a17e8 Pinned      00000000127f32b0     1056                  System.Object[]
00000000000a17f0 Pinned      00000000027f1408       24                  System.Object
00000000000a17f8 Pinned      00000000127f1038     8792                  System.Object[]

此时,可以看到对象是00000000027f2ca8 ,持有他的句柄是00000000000a17d0

看下句柄内容:

0:000> dd 00000000000a17d0
00000000`000a17d0  027f2ca8 00000000 127f5710 00000000
00000000`000a17e0  127f36f0 00000000 127f32b0 00000000
00000000`000a17f0  027f1408 00000000 127f1038 00000000
00000000`000a1800  00000000 00000000 00000000 00000000
00000000`000a1810  00000000 00000000 00000000 00000000
00000000`000a1820  00000000 00000000 00000000 00000000
00000000`000a1830  00000000 00000000 00000000 00000000
00000000`000a1840  00000000 00000000 00000000 00000000

句柄中的前8个字节正好是持有的对象;

补充:Pined句柄表示被固定不会被移动的对象。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295