vscode调试没有输出(vscode runcode无输出)

VSCode 调试

更全面的信息可以参考官方 调试手册 ,以下记录我用 VSCode 调试的一些经验。

想要在 VSCode 里调试,需要配置两个文件 tasks.json 和 launch.json 。

这两个文件按 F5 后会自动在 .vscode 目录下生成。

一般默认生成的 tasks.json 文件如下:

我们需要关注的选项有:

深入理解 tasks.json 文件的作用与 "command" 选项的用法,我们就能灵活地配置构建工程。

tasks.json 文件是用来构建工程的,当我们按 F5 进行调试时,VSCode 首先会执行 tasks.json 文件里 "command" 选项后的命令,并传入 "args" 参数,这样整个工程就被重新编译链接一遍了。

以 hello.c 文件和上述 tasks.json 为例,按 F5 进行调试时,最终会在命令行执行下述命令构建工程:

当然,如果一个工程有多个文件,"command" 就不能是简单的 gcc 了,需要根据实际的构建系统选择。

如果构建系统使用的是 Makefile ,那我们可以配置

这样在构建项目时就会使用命令

这跟我们平时使用 make 构建项目是一致的。

又比如配置 Zephyr 环境,

这样在构建项目时相当于执行命令

launch.json 文件用于配置调试环境。一般默认生成的文件如下:

我们需要关注的选项有:

VSCode 预定义了一些变量,可以在 Variables Reference 查看意思。

有时候我们的程序需要访问硬件资源,这一般需要 root 权限,而 VSCode 一般是在用户权限下启动的,这就需要特殊配置 VSCode 才能调试程序。

下面介绍如何利用 VSCode 以 root 权限调试程序。

首先需要注意到 launch.json 文件里的 "miDebuggerPath" 这个选项,它是调试器的路径,如果这个调试器可以以 root 权限运行,那么就达成了我们的目的了。

在 /home/user_name 目录下创建文件 gdb,user_name 需要替换为实际的用户名。

然后编辑该文件 vim gdb ,加入下述内容:

给 gdb 添加执行权限,

在修改 "miDebuggerPath" 成为

即可。这样我们就可以在 VSCode 里以 root 权限调试程序了,只不过每次都需要输入密码,因为有一个 sudo 过程。

为了解决这个麻烦,我又在网上找到了方法,将 /home/user_name/gdb 加入 sudo 的免密认证即可。

输入

编辑 /etc/sudoers 文件,修改成下述内容即可,

其中 jackis 是我的用户名,需要根据实际用户名替换。

NOPASSWD: 后的命令 sudo 时都不需要密码。退出 Shell,再重新打开一个命令行界面,输入 sudo apt update ,会发现没有提示输入密码了。

参考:

How to debug programs with “sudo” in VSCODE

How to Run sudo Commands Without Password

vscode调试模式终端打印不了东西

通过快捷方式打开Visual Studio Code工具,然后新建静态页面。

2、创建一个静态页面table.html,并添加页面代码,然后保存,使用浏览器查看。

3、点击File菜单,选择Open Folder,将项目导入到Visual Studio Code。

4、导入进去后,查看项目所依赖的包是否安装,项目配置文件。

5、新建一个终端窗口,在命令行输入npm run dev运行项目。

6、再点击File,然后新建一个TypeScript文件ct.ts,添加对应的代码。

vscode 终端输出展示不全,无法翻页

项目:使用vue+kbone构建的小程序,在编译后会有大量输出。

翻页问题之前也存在,但是因为没有什么影响就一直没有处理。

今天上午编译后,在有限的输出中未发现error,但是微信开发者工具报错【WXSS 文件编译错误】... file not found ...。检查后发现dist/mp下,不存在common文件夹,emmm...

这个时候开始意识到可能是编译错误,接着开始检查编译输出,结果就是发现输出有限无法翻页,更无法定位问题。

按照上图,依次找到:终端 - 配置终端设置-TerminalIntergrated:Scrollback 配置一个较大的数值,重启就可以了。

参考文档: 解决vscode终端信息太长,输出不全_weixin_42429288的1博客-CSDN博客

vscode怎么调试c语言 调试步骤

1、打开你要写c++程序的文件夹,我们这里新建一个Test文件夹并打开test,打开后:使用VScode运行调试C/C++,在左侧打开的目录中新建一个 main.cpp 文件。

2、新建后点左侧的调试按钮(英文:Debug),可以看到,目前没有调试配置。

3、这时我们需要配置自己的调试配置,回到资源管理器界面,我们可以看到目录下多了一个.vscode的文件夹,里面有一个launch.json文件。我们现在在这个文件夹中新建一个tasks.json文件。我们需要改写这两个json文件的内容。

{

version: 0.2.0,

configurations: [

{

name: Run C/C++,

type: cppdbg,

request: launch,

program: ${workspaceFolder}/${fileBasenameNoExtension}.exe,

args: [],

stopAtEntry: false,

cwd: ${workspaceFolder},

environment: [],

externalConsole: true,

MIMode: gdb,

miDebuggerPath: C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gdb.exe,

setupCommands: [

{

description: Enable pretty-printing for gdb,

text: -enable-pretty-printing,

ignoreFailures: false

}

],

preLaunchTask: build run file

},

{

name: Debug C/C++,

type: cppdbg,

request: launch,

program: ${workspaceFolder}/${fileBasenameNoExtension}.exe,

args: [],

stopAtEntry: false,

cwd: ${workspaceFolder},

environment: [],

externalConsole: true,

MIMode: gdb,

miDebuggerPath: C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gdb.exe,

setupCommands: [

{

description: Enable pretty-printing for gdb,

text: -enable-pretty-printing,

ignoreFailures: false

}

],

preLaunchTask: build debug file

}

]

}

其中tasks.json文件内容(直接复制即可):

{

version: 2.0.0,

tasks: [

{

label: build debug file,

type: shell,

command: g++,

args: [

-g,

-o,

${fileBasenameNoExtension},

${file}

],

group: {

kind: build,

isDefault: true

}

},

{

label: build run file,

type: shell,

command: g++,

args: [

-o,

${fileBasenameNoExtension},

${file}

],

group: {

kind: build,

isDefault: true

}

}

]

}

4、我们已经完成了基本的配置工作,保存以上两个json文件后,再次点击左侧的调试按钮(Debug),可以发现出现了两个新的配置,一个是直接运行程序的Run,一个是用来调试程序的Debug。

5、我们写一个简单的c++程序来进行调试说明,程序源代码,我们在return 0这行添加了一个断点。

6、切换运行配置为Debug C/C++,点击运行按钮开始调试。

7、可以看到,弹出的终端输出了正确的结果,调试窗口中的变量中也有变量a和对应的值。

vs,c语言开始执行不调试后结果不显示

vscode上C语言一直处于运行状态。但没有结果输出,也无法调试。

回答时间: 2021年06月29日

最佳答案:这种情况,应该是你代码中出现死循环了,.关闭vscode,重新启动,清理一下程序,然后重新编译,加断点调...

vscode点击调试然后啥反应都没有,是vscode坏掉了吗

你只是申明了函数,并没有调用。你在下面的代码把函数调用就可以出现调试结果了。

361知讯网

本文链接:http://pdidw.com/vs/49022.html

发表评论

评论列表

还没有评论,快来说点什么吧~