1.如何基于VSCode调试Typescript代码
2.使用 Vscode 搭建 Linux Kernel 4.4.6 可视化调试环境
3.vscode怎么调试c语言 调试步骤
4.vscode调试Node.js指南
5.vscode如何配置才能单步调试用typescript写的源码node.js程序的一种可行方法
6.Linux环境使用VSCode调试简单C++代码
如何基于VSCode调试Typescript代码
当你使用typescript编写某些包,但最终发布的调试是经过typescript解析器处理后的javascript代码,这种情况下调试源码就显得尤为必要。源码本文将指导你如何在VSCode中对Typescript代码进行调试。调试
首先,源码确保在VSCode中安装typescript。调试鬼道钟馗源码如果你尚未全局安装,源码需要安装一个。调试然后,源码创建一个名为tsconfig.json的调试配置文件,可以使用typescript的源码命令工具来生成。
在终端输入“tsc”或“tsc --help”了解命令行工具的调试功能。在配置文件中,源码注释掉sourceMap: true和`outDir: './你的调试输出文件夹'`这两行,因为这对调试至关重要,源码它会生成typescript的source maps。
通过命令“tsc”或“tsc index.ts”编译ts文件,注意后者的编译仅限于index.ts。在VSCode中,打开debug面板,按下F5,或者选择debug面板中的TS Debug选项,如果没有这个选项,可能需要先安装相关插件。
接着,创建launch.json文件,其中包含了workspaceFolder(你的项目根目录)。如果你的preLaunchTask未注释,可能会遇到找不到构建任务的问题,可以将其替换为tsc: 构建 - tsconfig.json。金融客户crm源码
对于浏览器端的客户端调试,你需要在index.html中引入编译后的js文件,并在launch.json中配置新的configuration,设置url为html文件的路径,确保添加了"preLaunchTask"。
对于无需预先编译的ts-node调试,需要在launch.json中添加对应的TS Debug配置,确保安装了ts-node,并设置"program"指向你的index.ts文件。
最后,如果你的测试环境是esm,记得在runtimeArgs中调整ts-node的参数,具体信息可参考相关链接。
使用 Vscode 搭建 Linux Kernel 4.4.6 可视化调试环境
本文旨在指导如何使用Vscode搭建Linux Kernel 4.4.6的可视化调试环境,通过Qemu模拟器、Busybox和Gdb等工具进行配置和调试。首先,确保你的Linux宿主机为位,并安装好必要的编译内核工具。选择4.4.6版本的内核源代码,配置时开启debug信息和特定选项。为得到流畅的代码提示,需生成compile_commands.json文件,可能需要使用bear工具。在编译过程中,可能会遇到与PIC模式和链接器版本相关的报错,需进行相应调整。完成内核编译后,利用Qemu启动并解决可能的磁力采集网站源码重启问题。使用Busybox构建initramfs,以支持内核启动时的设备驱动和基本程序。最后,通过.gdbinit和launch.json配置Vscode,实现在Kernel代码中的可视化调试,包括设置断点和启动调试过程。整个过程涉及从下载源码到成功进入Shell并进行调试的详细步骤。
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 (x)/mingw-w/i-8.1.0-posix-dwarf-rt_v6-rev0/mingw/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 (x)/mingw-w/i-8.1.0-posix-dwarf-rt_v6-rev0/mingw/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),可以发现出现了两个新的配置,一个是android源码阅读利器直接运行程序的Run,一个是用来调试程序的Debug。
5、我们写一个简单的c++程序来进行调试说明,程序源代码,我们在return 0这行添加了一个断点。
6、切换运行配置为Debug C/C++,点击运行按钮开始调试。
7、可以看到,弹出的终端输出了正确的结果,调试窗口中的变量中也有变量a和对应的值。
vscode调试Node.js指南
调试代码是开发和学习过程中不可或缺的技能,本文将为您揭示在vscode中高效调试Node.js的步骤。1. 调试业务JS
在日常开发中,设置业务代码断点是常见操作。启动进程时,通过node --inspect index.js,获取到调试连接地址。接着,只需在vscode中点击设置的断点,然后点击绿色的调试三角形,vscode将自动连接Node.js的WebSocket服务,即可进行调试,也可借助Chrome Dev Tools进行。2. 调试Addon的C++
虽然调试C++部分在Addon中不常见,但当需要时,配置如下:在C++代码设置断点,通过node-gyp build --debug编译debug版本,收款码制做源码JS加载debugAddon,然后点击小虫子开始调试。3. 调试Addon的C++和JS
当需要同时调试C++和JS时,与上述类似,先调试C++,然后选择Attach node C/C++ Addon,再次点击三角形,选择js文件进行调试。4. 调试Node.js源码C++
学习Node.js源码时,可以在node_main.cc的main函数或其他C++代码中设置断点,点击小虫子启动调试。5. 调试Node.js源码C++和JS代码
源码包括C++和JS,先在vscode中开始调试,执行完Node.js启动流程后,连接浏览器调试JS,通过WebSocket服务进行联调。vscode如何配置才能单步调试用typescript写的node.js程序的一种可行方法
为在VSCode中单步调试用TypeScript编写的Node.js程序,提供了一种实用的配置步骤。
步骤如下:
首先,确保项目中安装了TypeScript编译器tsc,并在`tsconfig.json`中配置好目标为`"esnext"`,模块类型为`"commonjs"`,启用`sourceMap`,并将输出文件目录设为`"build"`。
在VSCode中,利用任务功能创建一个监视源代码并自动编译的默认任务。通过`Ctrl+Alt+P`(Mac下为`Command+Shift+P`)打开任务管理器,选择`tsc: watch`,这将在`.vscode`目录下生成`task.json`。
执行任务时,再次打开任务管理器,选择`Tasks: Run Build Task`,确保项目编译成功。接下来,配置`launch.json`文件,关键部分包括设置入口文件路径为`"program": "${ workspaceFolder}/index.ts"`,根据`tsconfig.json`的`outDir`配置`"outFiles"`。
创建好`launch.json`后,选择`"ts-node Debugger"`配置,点击运行按钮(F5)或三角形图标开始调试。在需要的地方设置断点,确认断点生效和调试工具栏的显示。
通过以上步骤,你应该能成功在VSCode中配置并单步调试TypeScript Node.js项目。完成配置后的体验应该会让你的工作流程更加顺畅。
Linux环境使用VSCode调试简单C++代码
本文通过演示一个简单C++代码的编译调试过程,介绍在VSCode中如何使用Linux环境下的GCC C++编译器(g++)和GDB 调试器(gdb)。
关于GCC、g++、gcc、gdb,这里不做详细介绍,如果感兴趣可以参考另一篇文章。
看懂这篇文章的内容,只需要知道g++用来编译C++代码,gdb用来调试C++代码即可。
示例代码内容如下:
1. 终端命令行方式编译、调试简单C++代码
如果不考虑VSCode,在Linux环境中编译调试一个简单的C++代码可以只通过命令行实现,具体过程分为两步:
第一步:将*.cpp源代码文件通过g++编译器生成一个可调试的可执行二进制文件:
指令解析:
第二步:调用gdb调试器对可执行文件进行调试:
调试的过程如下:
2. 通过VSCode对C++代码进行编译、调试
主要参考:
2.1 前提条件
2. g++编译器和gdb调试器已安装。可以在终端查看g++是否已安装
如果能输出版本信息,则已安装。
gdb调试器可以通过下面的命令安装(安装gdb会自动安装g++):
2.2 配置tasks.json
在VSCode中打开示例代码文件夹,
1. 在VSCode的主菜单中,选择Terminal>Configure Default Build Task
2. 出现一个下拉菜单,显示 C++ 编译器的各种预定义编译任务。选择C/C++: g++ build active file(如果配置了中文,会显示 "C/C++: g++ 生成活动文件")
3. 选择后,vscode会自动生成一个.vscode文件夹和 tasks.json文件,此时的代码文件夹结构如下:
tasks.json的内容如下:
tasks.json的作用是告诉VSCode如何编译程序
在本文中是希望调用g++编译器从cpp源代码创建一个可执行文件,这样就完成了第1节中所说的编译调试第一步。
从tasks.json的"command"和"args"可以看出,其实就是执行了以下命令:
其中,
2.3 执行编译
在2.2节配置完成 tasks.json 文件后,VSCode就知道应该用g++编译器对cpp文件进行编译,下面执行编译即可:
1. 回到活动文件hello.cpp(很重要,不然 ${ file} 和 ${ fileDirname}这些变量都会错)
2. 快捷键ctrl+shift+B或从菜单中选择运行:Terminal -> Run Build Task,即可执行 tasks.json中指定的编译过程
3. 编译任务完成后,会出现终端提示,对于成功的g++编译,输出如下:
这一步完成后,在代码目录下就出现了一个可执行文件hello。
4. (可选) 个性化修改 tasks.json 可以通过修改 tasks.json满足一些特定需求,比如将"${ file}"替换“${ workspaceFolder}/*.cpp”来构建多个 C++ 文件; 将“${ fileDirname}/${ fileBasenameNoExtension}” 替换为硬编码文件名(如“hello.out”)来修改输出文件名
2.4 调试hello.cpp
完成上述的编译配置后,就可以对hello.cpp进行调试了:
4. 然后就开启调试过程了,可以单步运行、添加监视等等。
2.5 个性化配置launch.json
按照2.4节的过程,已经可以简单调试一个.cpp代码,但是在某些情况下,可能希望自定义调试配置,比如指定要在运行时传递给程序的命令参数。这种情况下我们可以在launch.json中定义自定义调试配置。
下面是配置调试过程的步骤:
launch.json的作用就是在告诉VS Code应该如何调用调试器。
如果想要在调试/运行程序时添加参数,只需要把参数添加在"args"选项中即可。
2.6 总结
在VSCode中编译、调试一个简单的.cpp文件,所需要做的就是:
2.7 复用C++配置
上面的过程已经完成了在VSCode中调试Linux环境下的C++代码的配置,但只适用于当前工作空间。如果想要在其他的工程文件夹下复用这种配置,只需要把tasks.json和launch.json文件复制到新文件夹下的.vscode目录下,然后根据需要改变对应的源文件和可执行文件的名称即可。
3.参考教程
VS Code 调试 PyTorch 多卡程序
在调试多卡(多进程)程序时,首先需确认错误是否与多进程有关。若非多进程问题,则建议使用单卡进行调试。
本文将以 MMEngine 中的示例脚本为基础,讲解如何在 VS Code 中调试 PyTorch 的多卡程序。
安装 MMEngine
由于需要使用 MMEngine 中的示例脚本,建议直接从源码安装 MMEngine。
运行多卡程序
执行上述命令后,脚本将正常运行并输出训练日志。
脚本正常运行后,您可以停止程序。
调试多卡程序
使用 VS Code 调试前,需要配置~/.vscode/launch.json。
感谢 @ 晨曦 的建议,若使用 torchrun,则无需设置 program 参数,只需设置 module 参数,即 "module"="torch.distributed.run"。请注意:如果您使用的启动命令是 python -m torch.distributed.launch --nproc_per_node=2 examples/distributed_training.py --launcher pytorch,则需要将上面配置的 program 的 run.py 替换为 launcher.py。
接下来,在 VS Code 中设置断点。例如,若想查看 MMEngine Runner 的 train 过程,可在 runner.train() 处设置断点。
最后,点击 Python: Current File 按钮开始调试。
点击 F 可跳入 runner.train(),查看其实现。
Linux环境下使用VScode调试CMake工程
在本文中,我们将探讨如何在Linux环境下使用VSCode对基于CMake的工程进行编译和调试。首先,对于C++编译和相关工具如g++、gdb的初学者,可以参考前面的教程以建立基础理解。
CMake的作用在于优化大型C++项目的编译流程。它能管理复杂的文件结构,处理依赖关系,使得原本冗长的编译命令变得简洁。以一个包含多个文件夹和源文件的工程为例,CMake能生成编译指令,降低繁琐程度。
在演示的CMake工程目录中,build文件夹用于存放编译中间文件,而源代码文件夹中包含了项目的核心内容。若在终端使用CMake编译,步骤是直接在build目录下运行cmake和make命令。
在VSCode中,配置CMake编译的过程包括创建tasks.json文件,其中包含了cmake和make的命令。执行build任务就等于执行了这两个命令,实现了CMake的编译。
接下来,调试CMake工程就变得简单了。编译完成后,VSCode会自动识别生成的可执行文件helloCMake。在launch.json中,需要配置使用gdb调试器,指定要调试的文件和断点位置。只需在helloCMake.cpp文件中设置断点,通过F5键即可启动调试。
总的来说,通过VSCode和CMake的结合,即使在Linux环境中,管理和调试C++项目也变得更加直观和高效。
2024-12-22 17:25
2024-12-22 17:21
2024-12-22 17:02
2024-12-22 16:26
2024-12-22 16:24
2024-12-22 15:00