sos

JUNIOR_MU1 个月前
esxi·nsx·sos·log·vcenter server·vcf·vmware cloud foundation·sddc manager·supportability and serviceability
【VMware VCF】使用 SoS 实用程序检查 VCF 环境的运行状态以及收集组件的日志信息。VMware Cloud Foundation 解决方案中有一个叫 Supportability and Serviceability(SoS)可支持性和可维护性的实用程序,可能你在初始构建 VCF 管理域的时候使用过这个工具,当时使用这个工具在 VMware Cloud Builder 虚拟机中将用于部署的 VCF 管理域的 Excel 参数表转换为 JSON 格式的参数文件,详见“VMware Cloud Foundation Part 03:准备 Excel 参数表。”。同样,这个 SoS 程序也可
可均可可2 个月前
windbg·sos·net 高级调试·ntsd
Advanced .Net Debugging 11:完结篇一、介绍     这是我的《Advanced .Net Debugging》这个系列的第十一篇文章,也是这个系列的最后一篇了。我已经把原书的前八章内容全部写完了,本来打算继续写第九章和第十章的内容,后来我放弃逐章逐节的编写,选择了将两章的内容进行过滤后,合为一篇,只把重要的内容包含进来的做法。原因是,我看了原书的后两章内容后,发现很多章节都是一带而过的介绍工具如何使用,讲解的并不是很详细。还有一点更重要的原因就是【高级调试所涉及的知识点】已经全部包含在前面所写的章节中了。如果大家想了解更详细的内容,可以直
可均可可8 个月前
windbg·模块·sos·clr·appdomain·程序集·应用程序域·方法表·方法描述符
Advanced .Net Debugging 2:CLR基础2.2、ExampleCore_2_1_2在【DIRECTORY_ENTRY_COM_DESCRIPTOR】这个域下还有一个节点是【MetaData】,这个节点包含的是Net 程序包含的元数据结构信息,【DIRECTORY_ENTRY_COM_DESCRIPTOR】本身的【MetaData】字段包含了一个【.text】内容,在【.text】段中包含了程序集的元数据表,MSIL以及非托管启动存根代码。非托管启动存根代码包含了有 Windows 加载器执行以启动 PE 文件执行的代码。如图:
可均可可9 个月前
windbg·sos·net 高级调试·clr
Advanced .Net Debugging 1:你必须知道的调试工具NTSD如图:我们安装了调试器工具集,也要配置环境变量,就不用每次使用都切换目录。64位 SOS 效果如图:
可均可可10 个月前
windbg·p/invoke·sos·clr·com互用性
Net 高级调试之十六:平台互用性及P/Invoke和内存泄漏调试一、简介     今天是《Net 高级调试》的第十六篇文章,也是这个系列的最后一篇文章了。既然是最后一篇文章,我需要在这里说明一下,我当前的这个系列,不是针对《Net 高级调试》这本书来的,而是根据“一线码农”的视频做的这个系列。当然了,他的视频是根据《Net 高级调试》这本书来的,内容上做了一些调整,可以说是与时俱进的。说实在的,我第一次看《Net 高级调试》这个本书是蒙的,不知道从何处入手,有一个视频带我入门,相对而言是更容易下一下。入门之后,在深入研究《Net 高级调试这个本书》。好了废话就说这么多
可均可可10 个月前
windbg·thread·sos·lock·clr
Net 高级调试之十五:经典的锁故障我们可以使用【!syncblk】命令查看一下是否我们程序有了什么问题。我们这里可以看到 3 号线程在持有 Person 对象,4 号线程在持有 Student 对象,然后我们分别依次切换到 3 号和 4号线程看看调用栈发生了什么情况,我们先看看 3 好线程。
可均可可1 年前
windbg·多线程·thread·sos·clr
Net 高级调试之十四:线程同步的基础知识和常见的同步原语程序运行起来如下:接着,我们在过【通过名称过滤(Filter by name)】中输入我们项目的名称:Example_14_1_1,来进程查找。效果如图:                          我们在找到的进程上双击破,打开新窗口,如图:                          我们找到了我们项目进程的主键线程编号,然后就可以使用 Windbg 查看内核态的线程表示了。我们主线程的编号是:1204,这个是十进制的,要注意。             然后,我们打开 Windbg,点击【
可均可可1 年前
sos·net 高级调试·clr·asp.net mvc
Net 高级调试之十二:垃圾回收机制以及终结器队列、对象固定Person1 类源码:Person2 类源码:Person3 类源码:Person 类源码:我们看到,红色标记的就是局部变量。我们看看它的内容,使用【!dumpobj /d 0x033c4e80 】。
可均可可1 年前
windbg·sos·net 高级调试·clr·sosex
Net 高级调试之十一:托管堆布局架构和对象分配机制输出的内容还是不少的,列表中【Heap 10 13b000 ( 1.230 MB) 1.00% 0.03%】,这个就是 NT 堆。             我们也可以使用【!heap -s】命令,查看 NT 堆的详情。
可均可可1 年前
windbg·sos·clr·ilemit
Net 高级调试之十:轻量级代码生成的调试上图是我们的代码,我们使用【!mbp】命令在18行下断点,【mbp】命令是 SOSEX的扩展命令,执行前必须加载 SOSEX.dll,我们需要使用【g】命令,继续运行程序,然后到达指定断点处停止后。
可均可可1 年前
windbg·debug·sos·clr·sosex
Net 高级调试之九:SOSEX 扩展命令介绍我们已经成功下了断点,但是英文提示 CLR 还没有被加载,我们使用【lm】命令查看一下加载模块信息,显示如下。
可均可可1 年前
windbg·sos·clr
Net 高级调试之八:代码审查及杂项命令代码很清楚,可以自行查看。当然我们也可以在Windbg的【Disassembly】窗口查看汇编代码,效果如图:
可均可可1 年前
windbg·sos·net 高级调试·clr
Net 高级调试之七:线程操作相关命令介绍一、简介     今天是《Net 高级调试》的第七篇文章。上一篇文章我们说了值类型,引用类型,数组等的内存表现形式。有了这个基础,我们可以更好的了解我们的程序在运行时的状态,内存里有什么东西,它们的结构组成是什么样子的,对我们调试程序是更有帮助的。今天,我们要说一些和线程有关的话题,虽然和线程相关,但是不是多线程的知识,不是线程安全的知识。今天我们讨论的是如何查看线程,它的表现形式,以及线程的调用栈,调用栈,又分为托管线程的调用栈和非托管线程的调用栈,这些也是我们高级调试必须掌握的。有了这些基础,我们就知
可均可可1 年前
windbg·sos·clr
Net 高级调试之六:对象检查之值类型、应用类型、数组和异常的转储031424c8(Person 对象的指针地址) 013d4dec(Person 方法表的地址)上面两段代码,红色标注的就是 Person 对象的方法表的地址,他们是一样的。我们有了对象的地址,对象的地址其实就是类型句柄的地址,也就是知道通过快索引的地址,只要减去 0x4就可以,说明一下,每个引用类型都包含【同步块索引】和【类型句柄】。
可均可可1 年前
windbg·sos·clr
Net 高级调试之五:如何在托管函数上设置断点使用【bp】命令对 notepad!SaveFile 函数下断点。下断点后,继续运行,使用【g】命令。
可均可可1 年前
windbg·sos·net 高级调试·clr·sosex
Net 高级调试之四:Windbg 动态调试当然,我们也可以通过【g】命令,继续运行程序,然后点击工具栏的【break】按钮,程序就进入中断,这里的结果和上面是一样的。
可均可可1 年前
windbg·sos·clr
Net 高级调试之三:类型元数据介绍(同步块表、类型句柄、方法描述符等)1.5、Example_3_1_5以上显示的红色部分是最重要的,LOCALS 表示局部变量,11,12,13 三行是具体的局部变量,等号前面是 线程栈上的变量地址,后面是具体的值,我们可以使用【?】命令查看具体的值。
可均可可1 年前
git·windbg·sos·net 高级调试
Net 高级调试之二:CLR和Windows加载器及应用程序域介绍2.2、证明 Windows 加载器如何加载一个 Net 的程序集。             验证代码:Example_2_1_1             PPEE是绿色软件,不用安装,直接下载就可以使用。打开 PPEE 软件,打开 Example_2_1_1.exe,就可以看到 PE 文件。             当我们双加一个 Net 的Exe应用程序的时候,操作系统会做很多工作,比如:在内核态生成进行的地址空间,地址空间生成成功后,然后在生成一个Process 的进程,再给这个进程生成一个主线程,
可均可可1 年前
windbg·sos·net 高级调试·perfview
高级调试:开始认识一些调试工具一、简介     从今天开始一个长系列,Net 高级调试的相关文章,我自从学习了之后,以前很多模糊的地方现在很清楚了,原来自己的功力还是不够,所以有很多不明白,通过学习 Net 高级调试,眼前豁然开朗,茅塞顿开。其实,刚开始要学习《Net 高级调试》,还是很是很困难的,很多工具不会用,又不知道如何调试,痛苦的又很多次想放弃,但是,最终还是坚持下来,收获也不小。     既然坚持下来了,我就把学习的过程记录下来,也许以后自己的能用的到,可以方便查询。或许,有其他人也有同样的困扰,或许可以在我这里得到一些帮助
行走的电脑1 年前
iphone·sos
iPhone卫星通信SOS功能如何在灾难中拯救生命iPhone上的卫星紧急求救信号功能在从毛伊岛野火中拯救一家人方面发挥了至关重要的作用。这是越来越多的事件的一部分,在这些事件中,iPhone正在帮助人们摆脱危及生命的情况。