WinDbg
文章平均质量分 97
WinDbg Step by Step
Login255
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1. WinDbg概述
授之以鱼不如授之以渔,我们用一篇文章介绍了WinDbg的基本使用。我们并没有一个命令一个命令去讲解命令含义,相反,我们介绍了如何查所有的基本命令、元命令和扩展命令,介绍了如何使用帮助来查各个命令的使用方法。知道了方法以后,大家完全可以自学WinDbg软件的使用了,遇到问题就查帮助。相信随着使用次数的增加,对WinDbg功能的领会就会越来越深,逐步实现量变到质变。以后的文章中,除非特别必要,否则我不会再介绍WinDbg的具体命令含义了,而会聚焦于如何使用各种工具去调试、分析和学习.NET程序。原创 2024-06-29 13:24:16 · 7268 阅读 · 0 评论
-
9. 让WinDbg自动打开DotNet Runtime源程序
本文介绍使用WinDbg调试 .NET应用程序的一个技巧。.NET应用程序的运行离不开CLR和即时编译器。如果我们想进一步学习即时编译器(clrjit.dll)的源代码,用WinDbg应该如何操作?下图是我们希望实现的功能:我们在调试自己测试用的C#程序Core.exe,调试过程中,我们把断点设置到了.NET Runtime源代码compiler.cpp 的 jitNativeCode 方法上,并且我们可以通过单步执行微软的源代码来跟踪Jit编译器的编译过程。原创 2024-07-03 11:42:14 · 963 阅读 · 0 评论 -
10. WinDbg综合实战
通过十篇文章,简单介绍了WinDbg调试Windows程序的方法。调试工具的使用,是一个熟能生巧的过程,道理并不很难,但需要记忆的命令较多,所以鼓励大家多多实际操作。软件调试真正的挑战,应该是计算机底层知识,比如对CPU、编译器、操作系统、汇编语言等,而这些知识又不是三言两语就能说清楚,所以,每当遇到困难时,我的建议是:不钻牛角尖,惹不起躲得起。说不定现在看来很难的问题,数月后便已不再是问题了。行文匆忙,错误与疏漏在所难免,欢迎批评指正。原创 2024-07-05 13:23:59 · 1513 阅读 · 0 评论 -
5. 保护模式概述
本篇,我们继续介绍Intel CPU。主要内容涉及:CPU运行模式、CPU内存模式、段寄存器、地址与操作数长度等。原创 2024-06-24 17:30:09 · 870 阅读 · 0 评论 -
6. 汇编语言与机器语言的差异
本文比较短,主要目的就是通过实例再次提醒读者,机器语言不等于汇编语言。对于调试老手来说,这个概念当然没必要强调,但对于刚学习编程的人来说,常常会搞不清楚两者的边界。虽然我们可以用汇编语言来分析本机代码,但如果遇到模棱两可情况,时一定要清楚只有机器码才是真正的CPU指令,原创 2024-06-27 13:03:02 · 564 阅读 · 0 评论 -
8. 托管PE文件结构
下面这张来自维基百科的图,简单描述了.NET托管程序的体系架构。原创 2024-07-01 18:13:53 · 774 阅读 · 0 评论 -
4. CPU寄存器与指令系统
在前一篇文章中,我们通过一个C#示例,介绍了使用WinDbg分析引用类型的实际内存布局。该文章其实尚未完成有关这个话题的全部内容陈述,而仅仅说清楚了一个引用类型其实是由两部分构成的:在栈空间保存着引用类型变量,该变量保存着堆空间中该实例的引用,而所谓的引用,其实就是一个内存地址,或者叫做指针,而且该指针并未指向对象的首字节,而是指向了对象的MethodTable指针这个字段。在堆空间中,该对象其实包括了三个部分:最低地址的部分是对象头,也有书籍称其为同步块;紧接对象头的是MethodTable指针;原创 2024-06-22 19:10:42 · 955 阅读 · 0 评论 -
7. WinDbg观察托管程序架构
dumpdomain查到assembly和module!dumpmodule -mt ModuleAddress查到MethodTable!dumpmt -md MethodTable查到方法列表和EEClass!DumpClass EEClass查到字段。原创 2024-06-28 13:44:47 · 743 阅读 · 0 评论 -
3. WinDbg程序调试
在《》中,我们介绍了如何使用k命令查看线程栈,如何在线程栈中找到目标地址,如何使用该地址作为g命令的目标参数,以及如何使用!u命令将C#源代码汇编成汇编语句。今天这篇文章,将使用一个全新的C#示例来介绍值类型以及引用类型的内存布局。原创 2024-06-21 18:41:08 · 1292 阅读 · 0 评论 -
2. WinDbg 主要功能
本来想写一篇使用WinDbg分析值类型和引用类型的文章,悲催的事情发生了,调试过程中出现意外,电脑死机,再重新调试时,程序的加载地址和之前所写都不一致了。为了不让已经写的部分作废,就将题目改成了WinDbg Step by Step (一),简单介绍一下WinDbg的使用。原创 2024-06-20 17:14:01 · 1295 阅读 · 0 评论
分享