Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: na   发起时间: 2014-08-27 13:02 下午   回复: 3

Print Search
帖子排序:    
   2014-08-27, 13:02 下午
naan 离线,最后访问时间: 2014/8/27 5:47:51 na

发帖数前500位
注册: 2014-08-27
发 贴: 3
怎么用qemu生成一个用管道虚拟的串口, windows下的qemu
Reply Quote
我在搭建 wdk的调试环境, 用windbg调试 虚拟机的xp

虚拟机用的qemu 0.13


我在《寒江独钓》 中 跟着做,

windbg 我设置了启动参数:

   windbg.exe -b -k com:port=\\.\pipe\com_1, baud=115200,pipe


用后面的参数连接一个管道,把它当做一个串口处理

 然后在qemu中 创建一个管道 来虚拟串口, 看了下 qemu的 手册,只有简单的几句

Debug/Expert options:

`-serial dev'

Redirect the virtual serial port to host character device dev. The default device is vc in graphical mode and stdio in non graphical mode.

This option can be used several times to simulate up to 4 serials ports.


pipe:filename

name pipe filename


这个是linux下的管道, 不是windows下的


这里是不是把调试信息输出到 管道中, 然后用windbg连接这个管道?

请问如何用qemu来 虚拟一个串口 通过管道?,  网上都是用vmware设置串口,没有关于qemu的串口的使用


IP 地址: 已记录   报告
   2014-08-27, 13:11 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 怎么用qemu生成一个用管道虚拟的串口, windows下的qemu
Reply Quote

类似这样启动QEMU

qemu -L .\bin .\image\cmsdsk.img -serial pipe:com1 -m 512

在WinDBG中这样指定管道名\\.\pipe\com1

 


IP 地址: 已记录   报告
   2014-08-27, 13:52 下午
naan 离线,最后访问时间: 2014/8/27 5:47:51 na

发帖数前500位
注册: 2014-08-27
发 贴: 3
Re: 怎么用qemu生成一个用管道虚拟的串口, windows下的qemu
Reply Quote
刚才设置了下 qemu init .bat  :

c:\qemu\qemu -boot c -m 512 -hda c:\iso\xp.qcow -serial pipe:com_1

windbg的启动 :

C:\WinDDK\7600.16385.1\Debuggers\windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe



先运行 init .bat 之后, 打开一个cmd, 一直没反映,  然后我试着 运行windbg.exe   

然后 qemu这边 就进去了选择的界面 1, xp
            2, xp debugger

然后我选了   2, xp debugger


windbg窗口里 马上就显示

Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Opened \\.\pipe\com_1
Waiting to reconnect...


然后等了 几秒后, windbg 自动关闭了,  qemu一直卡在黑屏中







IP 地址: 已记录   报告
   2014-08-27, 13:57 下午
naan 离线,最后访问时间: 2014/8/27 5:47:51 na

发帖数前500位
注册: 2014-08-27
发 贴: 3
Re: 怎么用qemu生成一个用管道虚拟的串口, windows下的qemu
Reply Quote
 刚 我又改了一下init.bat

c:\qemu\qemu -m 512 -hda c:\iso\xp.qcow -serial pipe:com_1


去掉了 -boot c  

可以到调试界面了,

Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Opened \\.\pipe\com_1
Waiting to reconnect...
Connected to Windows XP 2600 x86 compatible target at (Wed Aug 27 13:56:43.503 2014 (UTC + 8:00)), ptr64 FALSE
Kernel Debugger connection established.  (Initial Breakpoint requested)
Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path.           *
* Use .symfix to have the debugger choose a symbol path.                   *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is: 
*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
*                                                                   *
* The Symbol Path can be set by:                                    *
*   using the _NT_SYMBOL_PATH environment variable.                 *
*   using the -y <symbol_path> argument when starting the debugger. *
*   using .sympath and .sympath+                                    *
*********************************************************************
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrnl.exe - 
Windows XP Kernel Version 2600 UP Free x86 compatible
Built by: 2600.xpsp.080413-2111
Machine Name:
Kernel base = 0x804d8000 PsLoadedModuleList = 0x8055c1c0
System Uptime: not available
Break instruction exception - code 80000003 (first chance)
*******************************************************************************
*                                                                             *
*   You are seeing this message because you pressed either                    *
*       CTRL+C (if you run kd.exe) or,                                        *
*       CTRL+BREAK (if you run WinDBG),                                       *
*   on your debugger machine's keyboard.                                      *
*                                                                             *
*                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
*                                                                             *
* If you did not intend to break into the debugger, press the "g" key, then   *
* press the "Enter" key now.  This message might immediately reappear.  If it *
* does, press "g" and "Enter" again.                                          *
*                                                                             *
*******************************************************************************
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntoskrnl.exe - 
nt!DbgBreakPointWithStatus+0x4:
804e4592 cc              int     3


IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 怎么用qemu生成一个用管道虚拟的串口, windows下的qemu

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.