合集-Net 高级调试
Net 高级调试之二:CLR和Windows加载器及应用程序域介绍
摘要:一、简介 今天是 Net 高级调试的第二篇文章,第一篇文章记录了自己学习 Net 高级调试的第一步,认识一些调试工具,有了工具的倚仗,我们开始仗剑走天涯了,开始Net 高级调试正式的征程了。我先说一下,我的文章,【调试测试】这部分一般分为两个部分,第一部分是要用到的所有测试代码样例,也为大家提供方便 阅读全文
posted @ 2023-10-25 13:49 可均可可 阅读(2887) 评论(12) 推荐(24) 编辑
Net 高级调试之一:开始认识一些调试工具
摘要:一、简介 从今天开始一个长系列,Net 高级调试的相关文章,我自从学习了之后,以前很多模糊的地方现在很清楚了,原来自己的功力还是不够,所以有很多不明白,通过学习 Net 高级调试,眼前豁然开朗,茅塞顿开。其实,刚开始要学习《Net 高级调试》,还是很是很困难的,很多工具不会用,又不知道如何调试,痛苦 阅读全文
posted @ 2023-10-24 13:43 可均可可 阅读(5678) 评论(24) 推荐(74) 编辑
Net 高级调试之四:Windbg 动态调试
摘要:一、简介 今天是《Net 高级调试》的第四篇文章。到今天为止,也有三篇文章了,对 Windbg 也有初步的认识了,当然,一个工具流畅、熟练的使用,对于我们调试 Net 程序是至关重要的。在前几篇文章的基础上,我们这篇文章主要介绍一些和使用 Windbg 有关的命令和操作。就我个人而言,第一次接触这个 阅读全文
posted @ 2023-11-01 13:45 可均可可 阅读(1698) 评论(0) 推荐(6) 编辑
Net 高级调试之三:类型元数据介绍(同步块表、类型句柄、方法描述符等)
摘要:一、简介 今天是《Net 高级调试》的第三篇文章,压力还是不小的。上一篇文章,我们浅浅的谈了谈 CLR 和 Windows 加载器是如何加载 Net 程序集的,如何找到程序的入口点的,有了前面的基础,我们今天看一点更详细的东西。既然 Windows 操作系统已经加载了 CLR,初始化了应用程序域,加 阅读全文
posted @ 2023-10-30 11:32 可均可可 阅读(1295) 评论(3) 推荐(11) 编辑
Net 高级调试之五:如何在托管函数上设置断点
摘要:一、简介 今天是《Net 高级调试》的第五篇文章。今天这篇文章开始介绍如何在托管方法和非托管方法设置断点,我们要想调试程序,必须掌握调试的一些命令,动态调试的命令,我们在上一篇文章已经讲过了。光有命令也是不行的,要让这些调试命令有用,必须可以在方法上设置断点,然后,再使用调试命令,才能完成我们的调试 阅读全文
posted @ 2023-11-03 13:42 可均可可 阅读(1111) 评论(1) 推荐(8) 编辑
Net 高级调试之六:对象检查之值类型、引用类型、数组和异常的转储
摘要:一、简介 今天是《Net 高级调试》的第六篇文章。记得我刚接触 Net 框架的时候,还是挺有信心的,对所谓的值类型和引用类型也能说出自己的见解,毕竟,自己一直在努力。当然这些见解都是书本上的,并没有做到眼见为实,所以总是有些东西说不清楚。今天,我们就好好的说说 C# 的类型,是从内存级别、从底层来说 阅读全文
posted @ 2023-11-08 11:38 可均可可 阅读(1352) 评论(4) 推荐(13) 编辑
Net 高级调试之七:线程操作相关命令介绍
摘要:一、简介 今天是《Net 高级调试》的第七篇文章。上一篇文章我们说了值类型,引用类型,数组等的内存表现形式。有了这个基础,我们可以更好的了解我们的程序在运行时的状态,内存里有什么东西,它们的结构组成是什么样子的,对我们调试程序是更有帮助的。今天,我们要说一些和线程有关的话题,虽然和线程相关,但是不是 阅读全文
posted @ 2023-11-10 11:22 可均可可 阅读(1024) 评论(0) 推荐(6) 编辑
Net 高级调试之八:代码审查及杂项命令
摘要:一、简介 今天是《Net 高级调试》的第八篇文章。这篇文章设计的内容挺多的,比如:如何查看方法的汇编代码,如何获取方法的描述符,对象同步块的转储,对象方法表的转储,托管堆和垃圾回收器信息的转储,CLR 的版本,GC 模式,等等,内容挺多的。内容虽然挺多,但是这些都是高级调试的基础。虽然这些都是基础, 阅读全文
posted @ 2023-11-14 11:37 可均可可 阅读(938) 评论(0) 推荐(7) 编辑
Net 高级调试之九:SOSEX 扩展命令介绍
摘要:一、介绍 今天是《Net 高级调试》的第九篇文章。这篇文章设计的内容挺多的,比如:扩展的断点支持,如何查找元数据,栈回溯,对象检查,死锁检测等等,内容挺多的。功能特别强大,使用特别方便,但是需要说明一点,这些功能不是 SOS 的功能,是 SOSEX 的扩展功能,但是,这一系列功能只是支持 Net F 阅读全文
posted @ 2023-11-16 11:48 可均可可 阅读(868) 评论(0) 推荐(8) 编辑
Net 高级调试之十:轻量级代码生成的调试
摘要:一、简介 今天是《Net 高级调试》的第十篇文章。说起来,高级调试,调试的内容还是挺多的,技巧也不少,但是,要想做一个合格的高级调试人员,还需要掌握如何调试动态生成的IL代码。今天要探讨的高级调试的技巧是如何调试通过 Emit 动态生成 IL 代码。可能有人会问,我们不是编写 C# 代码,或者是 V 阅读全文
posted @ 2023-11-21 10:29 可均可可 阅读(1413) 评论(1) 推荐(10) 编辑
Net 高级调试之十一:托管堆布局架构和对象分配机制
摘要:一、简介 今天是《Net 高级调试》的第十一篇文章,这篇文章来的有点晚,因为,最近比较忙,就没时间写文章了。现在终于有点时间,继续开始我们这个系列。这篇文章我们主要介绍托管堆的架构,对象的分配机制,我们如何查找在托管堆上的对象,我学完这章,很多以前很模糊的概念,现在很清晰了,知道了对象代的分配,大对 阅读全文
posted @ 2023-12-01 13:15 可均可可 阅读(655) 评论(0) 推荐(5) 编辑
Net 高级调试之十二:垃圾回收机制以及终结器队列、对象固定
摘要:一、简介 今天是《Net 高级调试》的第十二篇文章,这篇文章写作时间的跨度有点长。这篇文章我们主要介绍 GC 的垃圾回收算法,什么是根对象,根对象的存在区域,我们也了解具有析构函数的对象是如何被回收的,终结器队列和终结器线程也做到了眼见为实,最后还介绍了一下大对象堆的回收策略,东西不少,慢慢体会吧。 阅读全文
posted @ 2023-12-08 13:40 可均可可 阅读(811) 评论(2) 推荐(8) 编辑
Net 高级调试之十三:托管堆的几个经典破坏问题
摘要:一、介绍 今天是《Net 高级调试》的第十三篇文章,这篇文章写作时间的跨度有点长。这篇文章我们主要介绍 经典的案例,如何查找问题,如何解决问题,最重要我们看到了问题,要有解决的思路,没有思路就是死路一条了,当然,这个过程也不是一帆风顺的,我是做了很多遍,最终猜得到了想要的东西。当然了,第一次看视频或 阅读全文
posted @ 2023-12-13 11:47 可均可可 阅读(680) 评论(0) 推荐(4) 编辑
Net 高级调试之十四:线程同步的基础知识和常见的同步原语
摘要:一、介绍 今天是《Net 高级调试》的第十四篇文章,这篇文章我们主要介绍和线程相关的内容,当然不是教你如何去写多线程,更不会介绍多线程的使用方法和API,今天,我们主要讲一下锁,一说到多线程,就会有并发的问题,也可以说是线程安全的问题,锁是没有办法避开的一个话题。我们今天不讲锁的使用方法,主要是关注 阅读全文
posted @ 2023-12-19 14:14 可均可可 阅读(768) 评论(5) 推荐(5) 编辑
Net 高级调试之十五:经典的锁故障
摘要:一、简介 今天是《Net 高级调试》的第十五篇文章,这个系列的文章也快结束了,但是我们深入学习的脚步还不能停止。上一篇文件我们介绍了C# 中一些锁的实现逻辑,并做到了眼见为实的演示给大家它们底层是如何实现的,今天这篇文件就主要介绍一些如何查找和解决在项目调试中遇到的锁的问题,比如:死锁、孤立锁、线程 阅读全文
posted @ 2023-12-28 10:22 可均可可 阅读(774) 评论(1) 推荐(9) 编辑
Net 高级调试之十六:平台互用性及P/Invoke和内存泄漏调试
摘要:一、简介 今天是《Net 高级调试》的第十六篇文章,也是这个系列的最后一篇文章了。既然是最后一篇文章,我需要在这里说明一下,我当前的这个系列,不是针对《Net 高级调试》这本书来的,而是根据“一线码农”的视频做的这个系列。当然了,他的视频是根据《Net 高级调试》这本书来的,内容上做了一些调整,可以 阅读全文
posted @ 2024-01-15 11:13 可均可可 阅读(935) 评论(0) 推荐(3) 编辑