转储分析之寻找SDK安装程序挂死原因视频 笔记整理

本文介绍了在Windows 7上安装SDK时遇到的界面卡死问题,分析了由.Net重写SDK安装程序的原因。内容包括SDK的组成部分,如头文件、库和工具。通过调试技巧,如查看线程、分析栈信息和异常处理,深入探讨了挂死可能涉及的函数和命令,如`!threads`、`!clrstack`和`x`命令。同时,文章还分享了一些关于kernelbase、mscorwks和异常处理的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出现情况:WIN7 安装SDK界面卡死

安装程序由.Net重写过,重写原因:原SDK不能从网络安装,假定所有SDK所需文件都在本地。

SDK包含:头文件,lib,附属工具等。


一.一些简单的命名规则

TppWorkThread  Tpp开头表示在线程池中

Rtl开头代表操作系统的运行时库

ntdll !Rtl 开头代表Nt所依赖的一些系统的核心函数

nt/ntdll 中都有一些Rtl开头的核心函数(nt是内核态,ntdll是用户态,ntdll是与内核态接口的dll)

ntlpExcuteHander...中的p代表是内部函数,而RtlUnwindEx,直接接大写代表是公开的函数

JIT表示即时编译,JIT_Throw即时编译时抛异常

二.一些常用的基础命令

~ 针对线程

* 所有线程

k 查看栈 ,有kv kb kn kp等不同组合,有不同效果

kv可以在栈上显示返回的参数

kn有每个栈的栈针的编号,有每个栈针的基地址

~*k查找出栈的信息时,执行顺序自下向上(由栈顶向栈底)看。栈底至栈顶地址逐渐递增,栈顶至栈底地址逐渐递减。

!exchain 查找异常的地址

!threads 显示托管栈信息

! do 地址 (dumpobject,.net世界中一切皆为对象)把栈中所有对象都dump出来

!clrstack 地址 查看代码

.loadby sos mscorwks 加载运行mscorwks运行时相同目录的sos   也可以.load绝对路径,但是不推荐

加载后,可运行!help显示支持的命令

此时执行!dumpstuck可现实k命令看不到的函数名,找出执行k时不同的函数进行分析

x 查找文件的二进制地址,支持匹配符。如:x ntdll ! *

三.其

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值