前言
在上一篇文章中,我们主要使用了三个命令 !address,s,.writemem 把丢失的代码成功的保存到了文件中。本文简单介绍一下上文用到的这三个命令。
说明:本文很早就发布在我的博客上了,当时总结的有些问题,本次重新整理完善后再次发布。
有时候我们非常想知道当前系统内核的一些状态,比如查看当前系统加载了哪些驱动,查看某个进程外 COM 调用卡在哪里了,等等。如果我们可以调试系统内核,或者抓取一个系统转储来做事后调试,该多好啊。我们可以通过如下方法得到系统转储:
sysinternals中的 notmyfault 或者 使用快捷键让系统崩溃,并设置 系统崩溃的时候自动保存转储文件)(有点小题大作了:joy:)。sysinternals 中的 livekd,不需要特殊设置,绿色环保。以上几种方案中,使用 livekd 最方便快捷。如果有哪位小伙伴儿对其它几种方法感兴趣,可以查看之前的转储系列文章。为了能顺利使用 livekd,我们需要解决几个问题。
我在前面的文章——《使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境》分享了使用 windbg 进行双机内核调试的环境搭建的步骤。
有小伙伴儿留言说:在使用 vs 进行双机内核调试的时候,总是连不上。希望能发一篇使用vs进行双机内核调试的文章。今天,以视频形式分享下搭建过程。几本上是从零开始。
标题中的 101 请参阅 wikipedia 101。
我们在上一篇文章——本地内核调试环境搭建,就这么简单!中总结了本地内核调试的开启方法。本地内核调试有很多限制(比如,不能执行 .crash 来让系统蓝屏,不能执行 .dump 保存转储,不能下断点 ……),双机内核调试完全没有这方面的限制,可以说是真正意义上的内核调试。
双机内核调试主要分两种情况:
不论被调试系统运行在虚拟机中,还是运行在另外一台物理机中,系统设置都是一样的。本文简单梳理了常用的内核调试设置方法及连接方法。