皮皮网
皮皮网

【阅读新闻赚钱源码】【性用品源码】【打通溯源码】vscode源码调试

来源:108源码 保底 发表时间:2024-11-27 07:24:13

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源码调试

如何基于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。性用品源码

       对于浏览器端的客户端调试,你需要在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),可以发现出现了两个新的配置,一个是名片喵源码直接运行程序的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版本,直播源码appJS加载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++项目也变得更加直观和高效。

相关栏目:热点