net 高级调试

可均可可3 个月前
windbg·sos·net 高级调试·ntsd
Advanced .Net Debugging 11:完结篇一、介绍     这是我的《Advanced .Net Debugging》这个系列的第十一篇文章,也是这个系列的最后一篇了。我已经把原书的前八章内容全部写完了,本来打算继续写第九章和第十章的内容,后来我放弃逐章逐节的编写,选择了将两章的内容进行过滤后,合为一篇,只把重要的内容包含进来的做法。原因是,我看了原书的后两章内容后,发现很多章节都是一带而过的介绍工具如何使用,讲解的并不是很详细。还有一点更重要的原因就是【高级调试所涉及的知识点】已经全部包含在前面所写的章节中了。如果大家想了解更详细的内容,可以直
可均可可1 年前
windbg·sos·net 高级调试·clr
Advanced .Net Debugging 1:你必须知道的调试工具NTSD如图:我们安装了调试器工具集,也要配置环境变量,就不用每次使用都切换目录。64位 SOS 效果如图:
可均可可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·net 高级调试·clr
Net 高级调试之七:线程操作相关命令介绍一、简介     今天是《Net 高级调试》的第七篇文章。上一篇文章我们说了值类型,引用类型,数组等的内存表现形式。有了这个基础,我们可以更好的了解我们的程序在运行时的状态,内存里有什么东西,它们的结构组成是什么样子的,对我们调试程序是更有帮助的。今天,我们要说一些和线程有关的话题,虽然和线程相关,但是不是多线程的知识,不是线程安全的知识。今天我们讨论的是如何查看线程,它的表现形式,以及线程的调用栈,调用栈,又分为托管线程的调用栈和非托管线程的调用栈,这些也是我们高级调试必须掌握的。有了这些基础,我们就知
可均可可1 年前
windbg·sos·net 高级调试·clr·sosex
Net 高级调试之四:Windbg 动态调试当然,我们也可以通过【g】命令,继续运行程序,然后点击工具栏的【break】按钮,程序就进入中断,这里的结果和上面是一样的。
可均可可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 高级调试》,还是很是很困难的,很多工具不会用,又不知道如何调试,痛苦的又很多次想放弃,但是,最终还是坚持下来,收获也不小。     既然坚持下来了,我就把学习的过程记录下来,也许以后自己的能用的到,可以方便查询。或许,有其他人也有同样的困扰,或许可以在我这里得到一些帮助