windbg+网线双机调试内核
来源:互联网 发布:淘宝特种经营许可 编辑:程序博客网 时间:2024/06/04 19:09
最近要调试bluetooth,涉及到具体硬件因此不能用虚拟机和命名管道调试内核了,另外现在的PC追求轻便化,因此连串口都没了,不得不考虑使用网线调试。网上转了一圈发现了这篇:基于网络的内核调试
驱动调试需要用到两台机器,目前主要是通过串\口、usb或者1394接口来连接。对于软设备驱动来说就多了一种选择,通过vmware等虚拟化软件来虚拟测试机。但有些情况下必须在真实的双机环境进行,如真实设备驱动的调试,以及其他驱动无法在虚拟机上运行的情况,这时就要考虑用什么接口来连接了。串口的优点是它属于标配,几乎每个PC主板上都有,串口线也便宜,另外就是所有的windows系统都支持串口调试,所以很多同行都用串口进行驱动调试,但它有个缺点速度慢,最快也只能达到115200。Usb和1394的速度比串口速度快,但要找到合适的usb线也不容易,1394就更难了。在这样的情况下,如果可以通过网络进行双机调试一定会是很好的调试体验。
很可惜,想要通过网络进行驱动调试也是有要求的。为了叙述方便我们先明确两个概念。
1. 目标机,指的是安装和运行被调试驱动的机器。
2. 宿主机,运行调试器对目标机进行调试的机器。
要通过网络进行驱动调试,需要满足以下几个方面的要求:
1. 目标机和宿主机的网卡要支持这种调试。
2. 目标机操作系统必须是win8或者windows server 2012.
3. 宿主机操作系统可以使XP或者更高版本的系统。
条件是苛刻了点,但随着win8的普及,相信使用这种方法进行驱动调试的人会越来越多。接下来进入本文的重点,调试环境的配置。
1. 用ipconfig以及ping命令确定目标机和宿主机的IP以及网络连接情况。
2. 选择一个宿主机和目标机都要用到的网络端口,你可以在49152-65535这个范围选择,确保你选择的端口没有被其他进程占用。
3. 在目标机运行如下命令:
(1)bcdedit /debug on
(2) bcdedit /dbgsettings net hostip:w.x.y.z port:n
其中w.x.y.z表示宿主机IP,n表示刚才选择的网络端口。(2)这个命令将会产生一个key,把这个key抄下来,等会要用到。
如果目标机有多个网卡,还需要执行如下命令:
bcdedit /set {dbgsettings} busparams b.d.f
其中b为总线号,d为设备号,f为功能号,这些可以在设备管理器中查到。
4. 重启目标机。
5. 在宿主机上打开windbg,选择kernel debug下的net标签,填入选择的端口号和刚才的key,点击OK就可以开启调试会话。你也可以在命令窗口运行windbg -k net:port=n,key=Key 来开启调试会话。
=============================================================================================================================
后记:
我测试时发现
1.调试时两台PC机直连,设置静态Ip也可以进行调试
2.如果目标机是win10 UEFI启动模式 网线调试可能会失效,一方面可能是因为受UEFI security boot影响,另一方面可能是因为厂商直接把网口调试功能给禁用了,这种时候只能装win10 CSM的镜像再进行调试
- windbg+网线双机调试内核
- 使用WinDBG进行双机内核调试
- 使用WinDBG进行双机内核调试
- ida借助windbg 双机调试内核
- WinDBG双机调试配置
- windbg双机调试配置
- Windbg双机调试
- Windbg双机调试
- Windbg 双机调试进程
- winDbg+VirtualBox双机调试
- windbg双机远程调试
- Windbg双机调试配置
- win8 + vmware + windbg 双机调试
- VirtualBox+Windbg 双机调试配置
- windbg+winXP 双机调试配置
- VirtualBox Windbg 双机调试配置
- WinDbg双机调试,很慢
- win8 + vmware + windbg 双机调试 .
- [leetcode] Bulb Switcher
- 微信公众号开发的时候,进行上传多张手机相册图片上传时候只上传第一张其他图片没上传解决方案
- (三)springMVC WebUploader分片上传
- POJ 3264 线段树 ST
- j2ee建立的Dynamic Web Project没有web.xml
- windbg+网线双机调试内核
- Thread
- 欢迎使用CSDN-markdown编辑器
- 线程的同步(synchronized关键字)
- java线程池管理
- 语音识别中的声学模型(AM)和语言模型(LM)
- 自定义View
- java中byte(负值)作&运算时0xff的作用
- ubuntu系统vim基本配置