将VM的端口号映射到命名管道

Posted

技术标签:

【中文标题】将VM的端口号映射到命名管道【英文标题】:map port number of VM to named pipe 【发布时间】:2013-06-05 13:33:12 【问题描述】:

我目前正在研究内核驱动程序开发并在 VMware Workstation 中设置了一个 Win7 虚拟机(Vmware 学术程序很棒:))现在我想通过虚拟串行端口将 Visual Studio 调试器连接到 VM命名管道。

MSDN 上的说明: http://msdn.microsoft.com/en-us/library/windows/hardware/jj200334%28v=vs.85%29.aspx

没错,这似乎很容易! 我在我的 VM 上创建了一个名为 \.\pipe\kerneldebug 的虚拟串行端口并正确配置它。然而,这个命名管道没有链接到任何 COM 端口,即 1-5,所以我应该为 n 输入什么: bcdedit /dbgsettings 串行调试端口:n 波特率:115200

我找不到按照 MSDN 说明的要求将命名管道映射到端口的方法。

任何帮助将不胜感激!

问候

【问题讨论】:

【参考方案1】:

最终通过反复试验得到了解决方案......

当调试器查找管道时,它是在本地(调试)机器上查找,而不是在虚拟机上。此管道将 VM 的 COM1 映射到本地计算机上的命名管道。

所以在我的示例中,我将在 Visual Studio 中配置目标机器,如下所示:

手动配置调试器,不要配置 连接类型:串行 波特:115200 管道:检查 重新连接:选中 管道名称:\\.\pipe\kerneldebug 目标端口:COM1

设置后

【讨论】:

嗨,我已经成功运行了两个bcdedit 命令,但是我不知道如何将 vm 的 com1 映射到名称管道。你能详细说明一下步骤吗?谢谢。 pubs.vmware.com/workstation-9/…

以上是关于将VM的端口号映射到命名管道的主要内容,如果未能解决你的问题,请参考以下文章

Hyper-V:通过命名管道连接 VM 会丢失数据

内存映射文件比命名管道快吗?

内存映射文件 VS 命名管道 - C#

C# 中的命名管道输入输出

将 ffmpeg 输出通过管道传输到命名管道

使用命名管道将图像从 C++ 发送到 C# 应用程序