Configuration

注:建议提前备份所有修改内容,可能会导致无法开机。

我的测试环境:

  • server: windows 10 + windbg
  • client: windows 7

Server

Server代表被调式机,修改vmx文件,查找并删除所有serial项,添加以下串口配置:

serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "/private/tmp/com1"
serial0.tryNoRxLoss = "FALSE"
serial0.pipe.endPoint = "server"

Client

Client表示Windbg机器,修改vmx文件,查找并删除所有serial项,添加以下串口配置:

serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "/private/tmp/com1"
serial0.tryNoRxLoss = "FALSE"
serial0.pipe.endPoint = "client"

KDM Boot

不同系统,启用KDM的方式有所区别,以xpwin7为例:

xp

进入虚拟机中,修改c:\boot.ini文件,在最后添加启动项如下:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Kernel Debugging" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200

win7

cmd执行依次执行以下命令:

  1. 查看当前的启动项信息:
bcdedit /enum {current}

resumeobject值复制出来,例如我这里是{995296e0-793b-11e7-9ce1-b6eb54ee5b23}

  1. 复制一个新的启动项,并开启调试模式和测试模式:
bcdedit /copy {current} /d "Windows Debug Entry"
bcdedit /dbgsettings serial baudrate:115200 debugport:1
bcdedit /debug {995296e0-793b-11e7-9ce1-b6eb54ee5b23} ON
bcdedit /set {995296e0-793b-11e7-9ce1-b6eb54ee5b23} TESTSIGNING on

重启后,可以看到新加的KDM项:

windbg

打开windbg的内核调试功能,设置串口调试:

注:这里配置好,确定之后,再启动server的调试模式。

Break Kernel

如果正常的话,在client端会收到连接提示,并且在等待一些时间后,被调试机可能没有被中断,直接运行到了桌面或者登陆窗口,此时可以使用windbg->debug->break功能进行打断:

Ref

最新文章

  1. [C#] C# 知识回顾 - 序列化
  2. HTTP事务
  3. 手把手教你配置UltraEdit对Oracle的PLSQL着色
  4. 嵌套循环中break、continue的用法
  5. [转]JavaScript程序编码规范
  6. CentOS 下安装
  7. 如何解决adb devices 端口被占用的问题zz
  8. SqlServer2008R2安装步骤
  9. js 字符串转化成数字:(实例:用正则检测大于0的正数,最多保留4位小数)
  10. MMU讲解
  11. 通用的业务编码规则设计实现[转:http://www.cnblogs.com/xqin/p/3708367.html]
  12. Solr数据库连接之多表关联
  13. Windbg 进程与线程 《第三篇》
  14. 【C#基础】static 关键字用法小结
  15. C#中的Delegate
  16. .net web api 一
  17. asp Vernum
  18. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):
  19. 在线SQL
  20. linux&Mysql

热门文章

  1. 2018-06-30 js事件
  2. Python中内置函数
  3. Python-AES加密算法接口测试
  4. eclipse导入工程报错-项目或者文件有红叉的解决方案
  5. mysql基本操作汇总
  6. Kubernetes学习笔记(四):服务
  7. python小练习-列表、字典
  8. Java——反射三种方式的效率对比
  9. Vue全局组件创建三种方法
  10. Docker 入门:容器