http://advdbg.org/books/swdbg/samples.aspx

一,本地内核调试( lkd ):

管理员权限启动windbg,ctrl + k --> Local

二,查看进程数据结构

1. 启动计算器

2. !process 0 0                    列出系统内的所有进程

3. dt _EPROCESS 88270030            (查看calc.exe 的EPROCESS结构)

4.!process 88270030          (查看calc.exe 的关键信息)

5. !token b1430a38         (查看calc.exe 的token信息)

6.查看peb (内核模式下,先设置隐式进程)

.process 88270030                   (设置calc.exe 为隐式进程)

dt _PEB 7ffde000                      (查看calc.exe peb)

7.!handle                       (查看calce.exe 句柄表 在calce.exe 进程环境)

.

8. !process 4 0            (查看system进程)

9. 查看 idle 进程

二 ,双机调试(kd) 环境配置:https://blog.csdn.net/huanongying131/article/details/90740286

1.查看双重错误 任务门(软件调试 p301)

2.查看当前任务门(tr)

3.产看中断描述表(idt)

三、UefSndThrd.exe练习(12章)

1.ctrl+e  打开执行文件

2.设置符号路径,源文件路径:

3.下bp断点

4.g 执行

5.继续:

6.从中可以看出:

主函数插入了一层异常(_XcptFilter)

四、dump练习

1.用everyting 搜.dmp 发现一堆 tim的dump OK 选一个来练习一下

2.ctrl+d 

3.随便选一个

4. .ecrx (显示异常环境记录,重要的是 该指令还会却换到发生异常的线程环境

比如(~ (线程号)s    .process EPROCESS地址) 都是确换环境,有了环境 kn 这些指令才能根据环境获取信息)

5. kv 查看栈回溯

五、蓝屏dump练习

1.本系统C:\Windows 目录下刚好有个MEMORY.dmp文件 直接用它

2.ctrl + d 打开dmp文件

2. BugCheck 7F     (从 debugger.chm(windbg帮助文档)搜索 Bug Check 0x7F)

3. {8, 807ca750, 0, 0}

第一个参数 8

4. 照着文档的流程 练习一下

5. !analyze

6. kv  (上面 可以知道 是哪个驱动导致的(Hooksys.sys)  看一下栈回溯 (分析一下驱动的哪一部分导致的))

7. .tss  0x28   查看任务状态段 (由上图可知是一个 tass gate 中断)

8. kv (上图  可以看出蓝屏是 nt!MiAllocatePoolPages+0x12  看一下哪一部分调到这里的)

9. .thread    !thread   (查看线程信息, 蓝屏环境是 当前线程  当前进程)

10. .process  !process (查看当前进程)

11. !analyze -v(一步到位)(1--8 很繁琐  但刚开始分析 需要 理解原理  分析过程)

FAILURE_BUCKET_ID:  0x7f_8_Hooksys+1b2f6     BUGCHECK_STR:  0x7f_8

UNEXPECTED_KERNEL_MODE_TRAP (7f)   Arg1: 00000008, EXCEPTION_DOUBLE_FAULT

12. ln   ( 查看最后跳转  LAST_CONTROL_TRANSFER:  from 83cabafe to 83d3247a)

ExpAllocateBigPool ---> MiAllocatePoolPages

六. TEB (24章)

打开计算器calc.exe,windbg F6 -->附加到calc.exe

1.dt ntdll!_NT_TIB

2. u ntdll!NtCurrentTeb

3.dd fs:[18] l1

4. dt ntdll!_NT_TIB 7ffd9000

5. dt _EXCEPTION_REGISTRATION_RECORD 0x0348f8c4

6. !exchain

7. u ntdll!RtlpGetRegistrationHead

软件调试实战:windbg 内核调试 (lkd kd )相关推荐

  1. Windbg内核调试之四: Dump文件分析

    Dump 文件分析很大程度上就是分析蓝屏产生的原因.这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等).说它是比较严重,是因为毕竟Window ...

  2. 使用WinDbg内核调试

    WINDOWS调试工具很强大,但是学习使用它们并不容易.特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器). 本教程的目标是给予一个已经有其他调试工具使用经验 ...

  3. Windbg内核调试之一: Vista Boot Config设置

    Windbg进行内核调试,需要一些基本的技巧和设置,在这个系列文章中,我将使用Windbg过程中所遇到的一些问题和经验记录下来,算是对Kernel调试的一个总结,同时也是学习Windows系统内核的另 ...

  4. Windbg 内核调试,寄存器窗口没有数据

    之前在使用Windbg进行内核调试的时候,想要查看寄存器的值,结果发现打开寄存器窗口之后,不显示数据,但是执行r命令可以正常查看寄存器的值,网上搜索了一下相关资料,记录一下. 环境:Windbg.ex ...

  5. 使用Windbg内核调试连接调试用户态程序的方法

    1. 中断目标计算机: 2. kd>!process 0 0 3. 找到要调试的程序对应进程: 4. kd>.process /i TARGETPROCESSADDRESS 5. kd&g ...

  6. linux内核printk调试手段,[Mini2440] 内核调试手段之 printk

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一. 内核打印函数 printk 介绍 1.1 前言 内核提供了 printk 函数在内核运行时打印信息,类似于 C 语 ...

  7. 拍案惊奇——软件调试实战训练营

    随着软件复杂度的不断增加,软件调试的难度越来越大.以调试器为核心的调试技术是征服软件世界的一把利剑.要想成为软件高手,认真修炼软件调试这门剑法是再多也不为过的.本训练营通过12个精选案例让参与者在实战 ...

  8. 拍案惊奇——软件调试实战训练营暑期特别班(v2.1)

    随着软件复杂度的不断增加,软件调试的难度越来越大.以调试器为核心的调试技术是征服软件世界的一把利剑.要想成为软件高手,认真修炼软件调试这门剑法是再多也不为过的.本训练营通过12个精选案例让参与者在实战 ...

  9. 用网络进行内核调试 VMware+windbg

    准备 下载vmware,安装需要调试的版本的操作系统,虚拟机->设置->网络适配器选择NAT即可,这个时候虽然虚拟机和电脑的IP不一致,但是也是可以ping通的,注意如果ping不通,需要 ...

最新文章

  1. iptables-save和iptables-restore
  2. oel6mysql_Linux7(CentOS,RHEL,OEL)和 Oracle RAC环境系列4:target(图形
  3. mysql在mac下的data目录_Mysql在mac中目录结构用法命令
  4. java comparable接口作用_Java Comparable 接口
  5. 最简单的教程:在Ubuntu操作系统里安装Docker
  6. python2版本异常_Python to.exe引发异常:此项目的版本控制需要sdisttarb
  7. vnc 树莓派 链接_树莓派 VNC Viewer 远程桌面配置教程
  8. 服务器如果选用CPU
  9. 2020年考研准考证打印下载及注意事项
  10. 各大视频网站下载神器
  11. c语言小车程序,循迹小车程序C语言
  12. 计算机硬盘的常用分区工具,常用的几款分区合并工具推荐,合理使用电脑硬盘...
  13. Linux_安装modelsim10_2
  14. 服务器运维的日常工作,运维工作人员日常工作重点有哪些?
  15. Java——io项目(快递分拣系统)
  16. android vendor下的属性值
  17. 对接第三方系统实操经验分享
  18. c语言 dict数据类型,Python开发基础之Python常用的数据类型
  19. 多核计算机是指有多个cpu,多核和多个CPU有什么区别?
  20. 智能手机的发展有多猛?

热门文章

  1. java 不同类型的数组_java创建存放不同类型数据的数组
  2. 大家的淘宝直播应该这么做!(一)
  3. 学习EMACScript6新特性
  4. 基于ssm的学生管理系统
  5. Swift Alamofire简单使用
  6. Go 安装、编译、运行
  7. 华为正式发布鸿蒙东莞,华为开发者大会在广东东莞松山湖召开,正式发布鸿蒙OS...
  8. Aptina荣获2010年EDN创新奖
  9. 单机游戏制作系列之二——基本框架
  10. Kindle使用calibre导入电子书(解决封面不显示问题)