Visual Studio Code 的主要功能之一是其出色的调试支持。VS Code 的内置调试器有助于加速您的编辑、编译和调试循环。
由于我是用python写的程序,所以以下介绍都是针对在python环境中进行debug的解释,但大部分概念和功能也适用于其他调试器。
首先我们要进入我们的工作文件夹,进入该根目录下面之后才能进行下一步的工作。
然后我们要打开运行视图:
运行视图
要打开运行视图,请在VS Code 一侧的活动栏中选择运行图标。

运行视图显示与运行和调试相关的所有信息,并有一个带有调试命令和配置设置的顶栏。
如果尚未配置运行和调试(未launch.json创建),VS Code 将显示运行开始视图。
点击创建launch.json文件 ➡ 选择调试器:Python Debugger

然后接下来会让你选择是直接调试当前的运行文件,指能够直接用python xxxx.py运行的文件,还是说要带参数调试当前文件,比如需要在python xxxx.py后面带--ckpt xxxx(路径)

如果是直接调试当前的运行文件,那么选择第一个即可,之后不需要进行其他设置。
如果是调试带有参数的python文件,那么我们要选择第二个,并且要对参数进行设置。
这两种情况下的launch文件中的参数解释(第一个json文件中有的内容第二个json文件都有):
{
"name": "openPCDet", // 该配置的名称,VSCode 调试面板中显示的名字
"type": "debugpy", // 使用的调试器类型,这里是 debugpy(Python 的调试适配器)
"request": "launch", // 启动方式,launch 表示直接运行程序(不附加到已有进程)
"program": "${workspaceFolder}/xxxxx/xxxxx/xxxxxx", // 要执行的 Python 脚本路径
"console": "integratedTerminal", // 调试输出在哪显示,这里使用 VSCode 的内置终端
"cwd": "${workspaceFolder}/xxxxx/xxxxx", // 当前工作目录(Current Working Directory)
"args": [ // 启动脚本时传入的参数,等价于你在命令行中写这些参数
"--cfg_file", "xxxxxx",
"--ckpt", "xxxxxxx"
"--data_path","xxxxxx"
]
}
设置好这些参数之后,我们就可以在vscode中debug了
断点:
你想要让文件运行到哪个地方暂停,就在哪个地方加入断点。
可以加入多个断点,运行调试的时候方便对多个地方进行检查
首先说明最重要的两点:
无论是在哪个文件中进行调试,我们都要从主文件中进入调试:
调试不是按照代码写出来的顺序进行的,而是按照代码运行的顺序进行的。
比如我想要看主文件中运行的某一个调用的函数的情况,那么我们要在这个函数的某个你想暂停的地方加入断点,然后去主文件中进入调试,这样才能正常按照代码运行的顺序到达你打断点的地方
但是如果你在该函数中打了断点,直接在该函数中运行调试,这样是没有意义的。
接下来对几个小精灵进行一下解释:

第一个:继续:如果你想要直接跳到下一个断点,那么你就按这个按钮,直接传送到下一个断点处。
第二个:调试下一步:是按照代码运行顺序,运行到当前代码的下一行
跳过当前语句中调用其他文件的所有语句。
比如a = func_b,如果func_b是其他文件夹定义的复杂函数,直接跳过
第三个:单步跳入:运行进入到自己写的文件中这一行所调用的函数,
比如a = func_b,如果func_b是其他文件定义的复杂函数,则进入其他文件。
第四个:单步跳出:如果我们想从当前进入的其他文件的函数中跳出,回到上一级的代码,单步跳出可以实现这个功能。
第五个:重新调试:重新从头开始进行这几个断点的调试
第六个:调试终止。退出调试
调试控制台:
如果我们调试到某一步之后,想看一下之前代码运行过后的某个参数的值,或者是想写一些简单的代码进行进一步的审查,我们就要点击上面的调试控制台,然后在下面的输入框中就可以进行更进一步的调试了。比如如果我们之前有个参数points,我现在想知道这个point的shape,我们就可以直接输入points.shape进行调试,调试控制台会输出我们想要的内容。
参考
https://juejin.cn/post/7071146744339234846
1589

被折叠的 条评论
为什么被折叠?



