BianChengNan's Blog

Coding is hard, you can make it easy!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

调试实战 | 从堆里找回“丢失”的代码相关命令简介

发表于 2020-05-01 | 更新于: 2020-05-01 | 分类于 调试实战 , 工具
字数统计: | 阅读时长 ≈ 分钟

前言

在上一篇文章中,我们主要使用了三个命令 !address,s,.writemem 把丢失的代码成功的保存到了文件中。本文简单介绍一下上文用到的这三个命令。

阅读全文 »

调试实战 | 从堆里找回“丢失”的代码

发表于 2020-04-19 | 更新于: 2020-04-19 | 分类于 调试实战 , 工具
字数统计: | 阅读时长 ≈ 分钟

前言

前一阵子,使用小乌龟(TortoiseGit)提交代码的时候,错误的 Revert 了部分代码,本文记录了找回这部分代码的过程。文章标题致敬张银奎老师《格蠹汇编》的第一章 —— 从堆里抢救丢失的博客。

说明: 本文的截图都是我用新建的示例工程截取的。

阅读全文 »

转储系列文章总结

发表于 2020-04-19 | 更新于: 2025-12-13 | 分类于 转储
字数统计: | 阅读时长 ≈ 分钟

前言

本来只想发布一篇使用 livekd 抓取系统转储文件的总结,没想到一下子扩展出了这么多篇。转储系列文章终于告一段落了。今天对转储系列文章做个总结。

阅读全文 »

本地内核调试神器 —— livekd 使用总结

发表于 2020-04-11 | 更新于: 2020-04-11 | 分类于 调试 , 工具
字数统计: | 阅读时长 ≈ 分钟

说明:本文很早就发布在我的博客上了,当时总结的有些问题,本次重新整理完善后再次发布。

前言

有时候我们非常想知道当前系统内核的一些状态,比如查看当前系统加载了哪些驱动,查看某个进程外 COM 调用卡在哪里了,等等。如果我们可以调试系统内核,或者抓取一个系统转储来做事后调试,该多好啊。我们可以通过如下方法得到系统转储:

  1. 双机内核调试(需要另外一台机器来做双机调试)
  2. 让系统崩溃(可以使用 sysinternals中的 notmyfault 或者 使用快捷键让系统崩溃,并设置 系统崩溃的时候自动保存转储文件)(有点小题大作了:joy:)。
  3. 使用 sysinternals 中的 livekd,不需要特殊设置,绿色环保。

以上几种方案中,使用 livekd 最方便快捷。如果有哪位小伙伴儿对其它几种方法感兴趣,可以查看之前的转储系列文章。为了能顺利使用 livekd,我们需要解决几个问题。

阅读全文 »

排错实战 | 解决 c++ 工程编译错: error C2059 'string' illegal token on right side of xxx

发表于 2020-04-04 | 更新于: 2025-12-13 | 分类于 排错
字数统计: | 阅读时长 ≈ 分钟

缘起

最近,项目里出现了一个奇怪的编译错误。乍看错误提示,真有丈二的和尚,摸不着头脑的感觉。解决之后,又是这么的合情合理。具体是什么样的问题呢?一起来看看吧。

阅读全文 »

排错实战 | 善用 vs 中的错误列表和输出窗口,高效查找 C++ 多工程编译错误

发表于 2020-03-30 | 更新于: 2025-12-13 | 分类于 排错
字数统计: | 阅读时长 ≈ 分钟

前言

相信,绝大多数小伙伴儿编译 C++ 或者其它语言的程序都遇到过编译错误。今天简单总结一下如何使用错误列表(Error List)和输出窗口(Output)排查编译 C++ 代码产生的编译错误。简单的错误,通过错误列表就可以搞定,但是一些复杂的错误,只通过错误列表很可能是无法解决的,需要借助输出窗口的帮助。

阅读全文 »

使用 VMware + win10 + vs2019 从零搭建双机内核调试环境

发表于 2020-03-29 | 更新于: 2025-12-13 | 分类于 转储
字数统计: | 阅读时长 ≈ 分钟

我在前面的文章——《使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境》分享了使用 windbg 进行双机内核调试的环境搭建的步骤。

有小伙伴儿留言说:在使用 vs 进行双机内核调试的时候,总是连不上。希望能发一篇使用vs进行双机内核调试的文章。今天,以视频形式分享下搭建过程。几本上是从零开始。

阅读全文 »

排错实战 | 1 分钟解救 run 不出来的 Autoruns

发表于 2020-03-21 | 更新于: 2025-12-13 | 分类于 排错
字数统计: | 阅读时长 ≈ 分钟

缘起

今天,被某些开机自动运行的程序“惹毛”了。打算使用 Autoruns 查看这个进程为什么会开机启动。没想到打开 Autoruns 后,只能在任务栏看到图标,怎么点都点出不来。Autoruns 已经启动了,不然任务栏不会看到图标,到底是什么原因导致的呢?继续阅读前,请回忆下是否遇到过类似的情况,有什么思路吗?

阅读全文 »

使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境

发表于 2020-03-15 | 更新于: 2025-12-13 | 分类于 转储
字数统计: | 阅读时长 ≈ 分钟

前言

当我们没有两台物理机时,又想做双机内核调试怎么办?当然是装虚拟机啦!本文总结了使用 VMware15.5 + win10 + virtualkd + windbg 搭建双机内核调试环境。

阅读全文 »

双机内核调试 101

发表于 2020-03-11 | 更新于: 2025-12-13 | 分类于 转储
字数统计: | 阅读时长 ≈ 分钟

标题中的 101 请参阅 wikipedia 101。

前言

我们在上一篇文章——本地内核调试环境搭建,就这么简单!中总结了本地内核调试的开启方法。本地内核调试有很多限制(比如,不能执行 .crash 来让系统蓝屏,不能执行 .dump 保存转储,不能下断点 ……),双机内核调试完全没有这方面的限制,可以说是真正意义上的内核调试。

双机内核调试主要分两种情况:

  1. 被调试系统运行在虚拟机中。
  2. 被调试系统运行在另外一台真实的物理机中。

不论被调试系统运行在虚拟机中,还是运行在另外一台物理机中,系统设置都是一样的。本文简单梳理了常用的内核调试设置方法及连接方法。

阅读全文 »
1…101112…14
BianChengNan

BianChengNan

140 日志
34 分类
227 标签
RSS
GitHub 知乎 博客园
© 2019 — 2025 BianChengNan | 全博客共 字
0%