-
2021-04-20 03:44:23
vscode如何单步调试?
vscode单步调试
VScode配置
0.快捷键Ctrl + ` 打开默认终端;
Ctrl + Shift + ` 新建新的终端;
Ctrl + Shift + Y 打开调试控制台,然后再自行切换终端选项;
ps: ` 在键盘数字1的左边。
1.安装clangsudo apt-get install clang
2.VScodeDebug
插件参考链接但大型的工程配置还是比较复杂,很多教程都是针对单个cpp文件进行配置,这里对vscode配置一般情况的cpp调试做个记录:
1.整体思路就是首先按照常规方法进行mkdir build && cd build && cmake.. && make (这一步可以在vscode的终端完成,也可以在系统终端完成,无所谓。但是为了少开点界面就在vscode里面完成比较好)生成可执行文件,然后使用vscode进行单步。
2. 配置launch文件:点击左侧边栏的Debug图标(Ctrl+Shift+D),再点上方的齿轮图标configure,点击default configure就能自动生成launch.json文件。进入launch文件界面可以看到路径为.vscode/launch.json/Launch Targets/(gbd)Launch.
3.修改launch文件:{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/app/testMonoBA", //此路径更改为最终生成的可执行文件路径以及可执行文件名称
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole":false,//将此处的true改为false,不然他会调用系统的终端进行现实
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
}
]
}
4.修改CMakeLists.txt文件:cmake_minimum_required(VERSION 2.8)
project(slam_demo)
set(DEFAULT_BUILD_TYPE "Debug") #修改处,讲release改为debug,也可以直接删除
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "Setting build type to '${DEFAULT_BUILD_TYPE}' as none was specified.")
set(CMAKE_BUILD_TYPE "${DEFAULT_BUILD_TYPE}" CACHE
STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif ()
set(CMAKE_CXX_FLAGS "-std=c++11")
FIND_PACKAGE( OpenMP REQUIRED)
if(OPENMP_FOUND)
message("OPENMP FOUND")
ADD_DEFINITIONS(-DUSE_OPENMP)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
endif()
#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -Wno-reorder" CACHE STRING "" FORCE)
#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -DNDEBUG -Wno-reorder -O2" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "{CMAKE_CXX_FLAGS} -o0 -ggbd") #添加语句
add_compile_options(-g) #添加语句
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
option(BUILD_APPS "Build APPs for slam course" YES)
option(BUILD_TESTS "Build test for slam course" No)
# third party libs
# eigen
find_package(Eigen REQUIRED)
include_directories(${EIGEN_INCLUDE_DIR})
# opencv
find_package(OpenCV 4 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
# glog
find_package(Glog REQUIRED)
include_directories(${GLOG_INCLUDE_DIRS})
# sophus
include_directories(${PROJECT_SOURCE_DIR}/thirdparty/Sophus)
include_directories(${PROJECT_SOURCE_DIR})
add_subdirectory(frontend)
add_subdirectory(backend)
add_subdirectory(utils)
if (BUILD_APPS)
add_subdirectory(app)
endif ()
if (BUILD_TESTS)
enable_testing()
add_subdirectory(test)
endif ()
5.完成以上后,重新进行编译,然后vscode中的调试一栏下面的就不再式灰色可以进行单步调试。
如图:
3.Cmake支持gdb调试的方法SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
add_compile_options(-g) #添加语句
更多相关内容 -
使用PHPStorm+XDebug搭建单步调试环境
2020-12-20 07:45:18PHP是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到PHP中变量的值,达到调试的地步,但是对于大型项目,或者想研究一下别人的代码时,使用单步调试会... -
C语言级单步调试功能的实现
2020-08-07 18:10:12本文提出的方案充分考虑了C语言单步调试需要面临的问题,可以实现任意复杂程序的C语言代码行的单步调试功能。本方案原理简单,容易理解,并经过大量BWDSP芯片调试过程的检验,已经证明了其正确性。 -
一种C语言级单步调试系统的功能实现方案
2020-07-27 03:47:47单步调试功能是调试系统的重要功能之一,使用户能以源代码行为单位对程序进行控制。由于C语言一行源代码可能包含很多复杂的语句,一个成功的C语言级单步调试功能实现需要解决一系列问题。 -
VxWorks单步调试环境的搭建
2017-01-20 17:09:34VxWorks单步调试环境的搭建 -
Win7/Win10 x64 中VC6 安装卡死、无法单步调试、调试退出进程没有结束
2017-10-11 19:40:46彻底解决 Win7/Win10 x64 中 VC6 安装卡死、无法单步调试、调试退出进程没有结束等问题 -
python单步调试
2022-02-21 11:37:27对于python一些逻辑错误,它的语法并不能完全识别出来,这就要我们一步步调试分析,所以单步调试是我们进行代码调试所必须进行的 首先打开pycharm界面,进行调试的时候,我们已经编写好了程序,此时我们点击代码...对于python一些逻辑错误,它的语法并不能完全识别出来,这就要我们一步步调试分析,所以单步调试是我们进行代码调试所必须进行的
首先打开pycharm界面,进行调试的时候,我们已经编写好了程序,此时我们点击代码左边,会出现小红点,如图所示,表明我们要从这里进行单步调试
点击右上角用黄色标注的标识即可运行到我们前边标注红点所在的行
此时我们可以看到下边就是我们所定义的变量的变化
之后点击下图黄色框框所框住的内容就运行到了下一步(其实这几个按钮好像都可以实现这个功能,具体的区别可能因为我写的代码太短而区别不出来,如果以后用到在更新),同时变量也会进行变化,此时会发现前边的代码行后边的浅色字体也是当前该变量值,我们就可以看到变量的变化,从而对代码进行调试
因为目前我练习的题目还是比较简单的内容,还不涉及比较难的调试,所以我就分享一下我现在用到的,以后在进行比较难的代码的调试,需要一些新的东西那就以后再分享
-
js单步调试
2021-11-18 14:12:541.打开浏览器,按F12 ... 3.在你要打断点的地方,例如点一下29这个...4.必须要重新刷新浏览器,这样才能开始断点调试 ,浏览器在刷新的状态,按F11,下一步 5.看变量,watch可以看自定义的变量,非常方便 ...1.打开浏览器,按F12
2.点击Source,就会显示所有的代码
3.在你要打断点的地方,例如点一下29这个位置
4.必须要重新刷新浏览器,这样才能开始断点调试
,浏览器在刷新的状态 ,按F11,下一步
5.看变量,watch可以看自定义的变量,非常方便
-
java存储过程单步调试详解
2021-03-01 10:14:45单击它后你就不能单步调试了。单步调试。单击它后可以像在exlipse或者visal stidio里面一样对程序进行单步调试了。4.单击“单步调试”按钮。出现如下画面: 这个时候表示你进入了调试状态,你可以单击上面说的任.....1.在要调试的过程上单击test,如下图所示:
2.出现如下界面时单击最左上方的按钮:,如下图所示:
3.单击后呈现如下画面:
其中: 表示要停止test;
表示要全部运行完这个过程。单击它后你就不能单步调试了。
单步调试。单击它后可以像在exlipse或者visal stidio里面一样对程序进行单步调试了。
4.单击“单步调试”按钮。出现如下画面:
这个时候表示你进入了调试状态,你可以单击上面说的任何按钮来控制程序,如下:
表示要停止test,不再调试了;
表示要全部运行完这个过程,不再进行单步调试了。
单步调试,表示要一步一步的调试这个程序
要想单步调试这个程序,只需要你用鼠标左键连续单击这个按钮即可。
5.断点的使用。
可以使用断点,方法是在文本区域最左侧的边框进行左键单击,如下:
这个时候单击: 这个按钮,就可以直接运行到这个位置了,示意图如下:
这个时候再单击,进行一步步的调试。
注意:当你忘记了设置断点,而进入一个非常大的循环时,没有关系,你可以打开这个过程在相应处设置断点,然后单击就可以了。步骤如下:
a.忘了设断点了,但是我进入了非常大的循环单步调试很难退出时:这个时候需要打开这个过程,如下:
b.你需要设置断点的地方左键单击即可,如下图:
c.单击就直接运行到你设置的这个断点的地方了。
5.对监控窗口的使用:
这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了。这个窗口在调试界面的最下方,如下示:
这个sql_str 就是要被监视的对象。
6.继续单步调试:可以看到,这个变量被赋值了。如下图所示:
把它复制出来,在新建的slq window里运行,就可以看到执行结果了。如下图所示:
7.分析每一步的执行结果。
8.继续单步运行,继续分析,直到知道为什么没有产生想要的结果为止。
1.在要调试的过程上单击test,如下图所示:
2.出现如下界面时单击最左上方的按钮:,如下图所示:
3.单击后呈现如下画面:
其中: 表示要停止test;
表示要全部运行完这个过程。单击它后你就不能单步调试了。
单步调试。单击它后可以像在exlipse或者visal stidio里面一样对程序进行单步调试了。
4.单击“单步调试”按钮。出现如下画面:
这个时候表示你进入了调试状态,你可以单击上面说的任何按钮来控制程序,如下:
表示要停止test,不再调试了;
表示要全部运行完这个过程,不再进行单步调试了。
单步调试,表示要一步一步的调试这个程序
要想单步调试这个程序,只需要你用鼠标左键连续单击这个按钮即可。
5.断点的使用。
可以使用断点,方法是在文本区域最左侧的边框进行左键单击,如下:
这个时候单击: 这个按钮,就可以直接运行到这个位置了,示意图如下:
这个时候再单击,进行一步步的调试。
注意:当你忘记了设置断点,而进入一个非常大的循环时,没有关系,你可以打开这个过程在相应处设置断点,然后单击就可以了。步骤如下:
a.忘了设断点了,但是我进入了非常大的循环单步调试很难退出时:这个时候需要打开这个过程,如下:
b.你需要设置断点的地方左键单击即可,如下图:
c.单击就直接运行到你设置的这个断点的地方了。
5.对监控窗口的使用:
这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了。这个窗口在调试界面的最下方,如下示:
这个sql_str 就是要被监视的对象。
6.继续单步调试:可以看到,这个变量被赋值了。如下图所示:
把它复制出来,在新建的slq window里运行,就可以看到执行结果了。如下图所示:
7.分析每一步的执行结果。
8.继续单步运行,继续分析,直到知道为什么没有产生想要的结果为止。
-
C语言简单的单步调试
2021-04-15 18:20:19单步调试是指程序开发中,为了找到程序的bug,通常采用的一种调试手段,一步一步跟踪程序执行的流程,根据变量的值,找到错误的原因。 下面以一个简单的小程序为例,这里的程序必须是在项目下,单个文件不能调试,会... -
python: 单步调试
2021-07-21 22:02:42所谓的单步调试,就是指的是每次执行一句Python语句,单步执行代码 pdb是Python自带的一个库,为Python程序提供了一种交互式的源代码调试功能,包含了现代调试器应有的功能,包括设置断点、单步调试、查看源码、... -
CodeBlocks单步调试入门
2018-12-17 10:08:37CodeBlocks单步调试入门 -
phpstorm,Xdebug单步调试
2021-04-12 19:56:14本地环境:windows10,phpstudy2018PHP 版本7.2.10-NTSphpstorm 版本2020.1单步调试比var_dump,print_r方便的多.但是配置过程比较繁琐,耐心看完.确定Xdebug版本.1. 查看本地phpinfo();图片.png2. 进入Xdebug官网找到... -
vscode单步调试简要步骤
2022-04-21 16:34:141.安装debug插件 2.设置断点 3.点击调试 -
Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)
2021-05-10 20:33:28如何单步调试Linux内核一直困扰着linux驱动开发人员,内核有其代码量大、逻辑复杂、与硬件交互的特性。因此,有着不同于应用程序的调试方法,据统计Linux内核开Linux内核驱动开发之KGDB原理介绍及kgdboe方式配置》。... -
PHP 的单步调试
2021-04-20 12:54:45想着使用 Xdebug 来搞 php 的单步执行,教程看的这里,http://blog.csdn.net/Eric6/art…,有一点需要小注意的是,需要在 IDE 中建立的项目的文件才能调试,在外面拖进去编辑的文件是不能调试的,这点让我瞎忙活了很... -
linux下gdb单步调试(中).doc
2021-05-17 20:23:57linux下gdb单步调试(中)linux下gdb单步调试(中)linux下gdb单步调试(中)一、设置断点( BreakPoint )我们用 break 命令来设置断点。正面有几点设置断点的方法:break 在进入指定函数时停住。 C++ 中可以使用 class::... -
Linux下使用gdb单步调试C语言
2022-04-21 17:21:56前言: 本文主要在于对学习内容总结备份、方便日后查询...人非圣贤,孰能无过,尤其是遇到一些比较细的问题,让机器帮忙调试,又能够一睹其运行过程。 #include <stdio.h> int main(void) { int i = -1; int a -
vscode单步调试
2020-08-04 22:51:04在公司工作的时候,经常会使用到Ubuntu系统,通常在开发大型项目的时候,只能够catkin...其实可以采用vscode进行单步调试。 这里需要修改以下几个文件。 第一,在对应需要编 -
通过查询分析器的调试功能进行单步调试
2021-01-18 18:03:25答: 具体步骤如下: 1、将服务器【身份验证】属性设置成【混合模式】(window与sql身份今天向大家介绍一下如何通过查询分析器的调试功能进行单步调试,这也是一个非常实用的技巧。问:怎样才能通过查询分析器的调试... -
keil5中汇编单步调试改成C语言单步调试
2020-10-19 20:32:26出现汇编单步调试的同志一定是把工程放在中文目录上,将其改成英文即可。 -
Eclipse单步调试技巧
2021-04-24 13:17:00本文将介绍如何基于makefile来单步调试一个项目。 前期准备 下载某一个开源项目,这里以https://github.com/musiclvme/debug_bf为例。这个项目是基于cmake来编译的,最后会生成一个bin。 设置编译选项,需要... -
VScode无法单步调试python
2021-11-04 18:57:06调试的时候找到 launch.json文件,进入修改justMyCode属性为false,没有的话就加上这一行代码。 // An highlighted block { "name": "Python: Current File", "type": "python", "request": "launch", "program... -
pycharm单步调试
2020-07-10 08:15:17之后可以使用单步调试也就是F8让他逐行运行代码 运行经过数据转入代码之后可以看到 batch_xs,batch_ys中的数据信息,包括他的最值、类型、元素数量以及shape。 当需要跳过循环的时候可以使用F9跳到光标 -
断点调试及单步调试
2020-10-02 20:17:142:单步调试,快捷键F11,单步调试可以逐步运行,也可以在断点调试下接单步,进而可以仔细检查每一步是否符合预期,F10是逐过程调试,不会进入函数块 ,再次强调,单步调试可以检查每一步是否符合预期,比如for循环是否... -
Debug-单步调试
2022-06-27 15:32:13Debug,单步跳过(step over),单步调试(step in),单步跳出(step out) -
VScode c++用gdb单步调试和异常捕获绕过标准库文件
2022-04-22 01:22:11vscode用g++编译和gdb调试的一些特殊技巧。 这个最主要的目的我原本还是用于竞赛的(如果出异常的话),可惜中文网站几乎完全没有相关的内容。 -
eclipse IDE进入单步调试
2021-08-31 08:18:421.Ctrl+s 在文件保存时,就进行了编译。...3. F11是程序运行快捷键,F5是进入函数内部单步执行,F6是不进入函数内部单步执行。所以要观察类的内部函数,点F5进入后,就用F6单步执行来查看。 ... -
python单步调试工具pdb
2021-08-25 14:08:11pdb是和gdb类似的工具,用于单步调试程序,大部分的命令都相同,而且内建与python 二、命令 三、使用 1、进入调试模式 方法1 打开cmd,切换到工程路径,输入python -m pdb 图书管理系统.py 进入单步调试 方法2 在...