每当我尝试在“C ++”类别下调试“Cross Platform”时,我都会看到以下错误:“无法启动调试。命令中出现意外的GDB输出”-target-select remote:5039“。远程连接已关闭“
我在下载Visual Studio 2015社区时安装了所有内容,并在支持Hyper-V的Windows 10 Pro上运行。
我一直在寻找解决方案,我找到了一个假设: “你的调试目标是什么,VS Android模拟器?当我们看到它之前,它被证明是一个糟糕的模拟器图像。你是否有所有目标的问题(例如,如果你尝试一个物理设备)或只有一个?” 在我的情况下,我只是通过仿真器(VS仿真器5“Lolipop(5.0)XXHDP电话(0x86 -...)
尝试了这个所以我发了一封电子邮件给VS 2015。 答案是这样的: “抱歉延迟回复,我们正在查看遇到此问题的另一个用户的模拟器图像,所以我等到我们将调查结果报告回来。我们实际上无法找到任何错误的模拟器本身,我们目前的假设是,它是一个网络或adb问题,干扰了GDB连接到远程机器上的GDB服务器的能力。每次尝试调试时是否看到此错误,或者如果重新启动模拟器,它有时会正常工作重启后?下次看到错误时,可以通过Hyper-V管理器并双击模拟器来打开模拟器的控制台模式。然后找到应用程序安装到的位置并运行“gdbserver --version” app路径,让我知道它说的是什么?这将验证设备上是否有正确版本的gdbserver。“
所以我们正试图解决这个问题,但我也在这里问以防万一。 有没有人有这个问题的神奇解决方案? 如果我弄清楚如何解决这个问题,我会对此发表评论。 提前致谢。
答案 0 :(得分:2)
你是第二个碰到这个问题的人,第一个碰到它的人提供了他们在我们的机器上运行他们的.vhd时一切正常工作所以gdbserver似乎是一个奇怪的问题来自Google提供的Android NDK)仅在某些计算机上运行时崩溃。不幸的是,你提供的.vhd似乎不是正确的,它不会为我启动。如果您在Hyper-V管理器中查看模拟器的设置,则可以看到模拟器正在使用的.vhd文件。 。但是,如果我们得到了另一个人的.vhd,你可以暂时不再提供任何其他信息。我等着从模拟器团队那里听到他们是否有任何想法,因为这似乎只是在特定机器上出现问题。
如果您不介意我的问题,如果您没有计算机背景,那么是什么激发您在Android上尝试使用C ++?这种情况比在Android上使用Java要复杂得多。
我得到这个答案差不多两个月了,但我还没有得到任何额外的答复。所以,我最终放弃了使用VS2015开发应用程序。
如果遇到此问题,只有两种方法可以解决。更改您的计算机或停止通过VS2015开发应用程序。
答案 1 :(得分:0)
如果项目名称包含空格,则整个远程调试失败。 Visual Studio还会创建奇怪的路径。当检查" Blink1 for Raspberry Pi"模板,我为Pi"命名项目" Blink1,这导致了这样的路径:
~/projects/Blink1?/for/pi/PI/for/pi....
所有调试都失败了。当我重新创建这个项目名称" Blink1"时,一切正常。遗憾的是,这里没有空间处理......