首页  >  文章  >  后端开发  >  C 调试器在调试器模式打开时无法打印或获取输入

C 调试器在调试器模式打开时无法打印或获取输入

Susan Sarandon
Susan Sarandon原创
2024-11-08 05:50:02701浏览

在 .vscode 文件夹中:

我的lanch.json:

    "configurations": [
        {
            "name": "C/C++: gcc.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\MinGW\bin\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc.exe build active file"
        }
    ],
    "version": "2.0.0"
}

task.json :

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe build active file",
            "command": "C:\MinGW\bin\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.22621.0",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64",
            "compilerPath": "C:/MinGW/bin/gcc.exe"
        }
    ],
    "version": 4
}

C debugger Not able to Print or take Input when in debugger mode is On

代码:

#include <stdio.h>
int main(){
int i;
scanf("%d", &i);
printf("You entered: %d\n", i);
return 0;
}

终端:

PS C:用户*OneDriveDocumentsINTERVIEW PREPDSA 和小型学习> & 'c:Users**.vscodeextensionsms-vscode.cpptools-1.23.0-win32-x64debugAdaptersbinWindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-caznmueg.sx2' '--stdout=Microsoft-MIEngine -Out-kpfaclzx.m3o''--stderr=Microsoft-MIEngine-Error-nq1rgwan.vxy''--pid=Microsoft-MIEngine-Pid-d12jsuyv.lf0''--dbgExe=C:MinGWbingdb.exe''- -interpreter=mi'

当我按 F5 时,意味着我调试我的 C 代码,如果 scanf 存在,如果调试器位于 scanf ,并且如果我按 F10 ,则它不会打印任何内容,也不会接受任何输入,然后如图所示,什么也不会发生。我只能将鼠标悬停并查看变量值。我已经安装

 set up,

 ```codeLLB```

 and code runner extensions, as well.

Also, If I not put debugger at scanf function: it waits for input ,but when i write something and hit enter, nothing happens, also the debugger not allow to step next step...And after that if i stop the debugger, then what ever i wrote in terminal ,shows there immediately. Example: if i wrote fffff and then stop debugger then that word executes in terminal!

以上是C 调试器在调试器模式打开时无法打印或获取输入的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn