Visual Studio 2017远程调试树莓派:cin无法输入的问题求助
解决VS2017远程调试树莓派时cin无响应的问题
我之前也碰到过完全一样的状况!当时折腾了好一阵才摸出几个可行的解决思路,你可以挨个尝试:
检查VS调试控制台的输入重定向配置
默认情况下,VS远程调试Linux项目时,可能没把本地控制台的输入重定向到远程程序进程。右键项目 → 属性 → 调试选项卡,找找有没有「启用远程控制台输入」这类选项(不同版本措辞可能略有差异),勾选它试试。如果找不到这个选项,再往下看其他方法。先在树莓派本地验证程序
把编译好的程序传到树莓派(一般在/home/你的用户名/Projects/项目名/路径下),用SSH登录树莓派后直接执行./你的程序文件名,看看cin能不能正常接收输入。如果这里没问题,那基本就是VS的调试配置出了问题;如果这里也不行,就得检查代码本身(比如cin之前有没有意外关闭标准输入流)。手动用GDB远程调试
有时候VS的自动调试会有奇怪的兼容性问题,你可以试试手动连接:- 在树莓派上启动gdbserver:
gdbserver :1234 ./你的程序文件名 - 在VS2017里选择「调试」→「附加到进程」,连接类型选「GDB远程调试」,输入树莓派IP和端口1234,附加后再调试,看看cin是否恢复正常。
- 在树莓派上启动gdbserver:
确认SSH连接的PTY分配
有些SSH客户端默认没分配PTY,会导致程序无法接收输入。你可以在VS的SSH连接配置里,确认是否开启了PTY分配;或者先用PuTTY这类工具建立好SSH连接,再让VS复用这个已有的连接试试。
另外,记得确保你的VS2017安装了最新的Linux开发工具包,旧版本插件偶尔会出现这类小问题。
内容的提问来源于stack exchange,提问作者nikhilr
相关产品推荐
相关产品推荐

