首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Debug Console窗口在调试期间无法接受Console.ReadLine()输入

Debug Console窗口在调试期间无法接受Console.ReadLine()输入
EN

Stack Overflow用户
提问于 2018-12-07 04:27:52
回答 2查看 0关注 0票数 0

VSCode版本:1.8.0

操作系统版本:Win10 x64

重现步骤:

  1. 使用“dotnet new”创建一个新的.net核心cli应用程序
  2. 使用VS代码打开文件夹
  3. 在Program.cs中添加两行代码 string a = Console.ReadLine(); Console.WriteLine(一);
  4. 切换到VS代码调试窗口并开始调试,显示调试控制台窗口,并显示第一个“Hello,World”。输出,并在Console.ReadLine()行停止,在调试控制台中输入任何内容,然后按Enter键将显示错误消息“由于进程正在运行,无法执行此操作”。

问题是在调试期间如何以及在何处输入Console.ReadLine()接受的文本,如果我打开一个新的cmd.exe并执行“dotnet运行”它可以正常工作,但在Visual Studio Code Debug Console中它无法正常工作。

EN

回答 2

Stack Overflow用户

发布于 2018-12-07 12:49:14

要在调试时读取输入,可以在launch.json中使用配置中的console属性

代码语言:javascript
复制
{
    "version": "0.2.0",
    "configurations": [{
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceRoot}/bin/Debug/netcoreapp2.0/Hashing.dll",
            "args": [],
            "cwd": "${workspaceRoot}",
            "console": "externalTerminal",
            "stopAtEntry": false,
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }
    ]
}

你可以使用"externalTerminal""integratedTerminal"。在"internalConsole"没有出现一起工作。

我使用integratedTerminal设置,因为终端在VSCode本身内部。您现在可以阅读输入Console.ReadLine();

票数 0
EN

Stack Overflow用户

发布于 2018-12-07 13:54:51

我是c#-visual studio调试器的新手......

尝试在你之前设置一个断点

代码语言:javascript
复制
Console.Readline()

并通过单步执行代码F10(而不是F11)来调试它。

它应该停在此处:

代码语言:javascript
复制
Console.Readline()

并等待你的输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档