Heim  >  Artikel  >  Entwicklungswerkzeuge  >  So debuggen Sie vscode in einem Schritt

So debuggen Sie vscode in einem Schritt

藏色散人
藏色散人Original
2019-12-24 10:38:096239Durchsuche

So debuggen Sie vscode in einem Schritt

Wie debugge ich vscode in einem Schritt?

vscode-Einzelschritt-Debugging

VScode-Konfiguration

0. Tastenkombinationen

Ctrl + `  打开默认终端;
Ctrl + Shift + `  新建新的终端;
Ctrl + Shift + Y  打开调试控制台,然后再自行切换终端选项;
ps: ` 在键盘数字1的左边。

Verwandte Empfehlungen: Vscode-Einführungs-Tutorial

1. Installieren Sie clang

sudo apt-get install clang

2. VScodeDebug

Plug-in-Referenzlink Aber die Konfiguration großer Projekte ist immer noch relativ kompliziert. Hier ist eine Aufzeichnung des allgemeinen CPP-Debuggings der vscode-Konfiguration:

1. Die allgemeine Idee besteht darin, zunächst die herkömmliche Methode zur Durchführung des mkdir-Builds zu befolgen && cd build && cmake.. && make (Dieser Schritt kann im Terminal von vscode oder im Systemterminal ausgeführt werden, es spielt keine Rolle. Um die Schnittstelle zu speichern, ist es jedoch besser, ihn in vscode abzuschließen) generieren Erstellen Sie die ausführbare Datei und verwenden Sie dann vscode, um einen einzelnen Schritt auszuführen.

2. Konfigurieren Sie die Startdatei: Klicken Sie in der linken Seitenleiste auf das Debug-Symbol (Strg+Umschalt+D), dann oben auf das Zahnradsymbol „Konfigurieren“ und dann auf „Standard konfigurieren“, um die Datei „launch.json“ automatisch zu generieren. Geben Sie die Startdateischnittstelle ein und Sie können sehen, dass der Pfad .vscode/launch.json/Launch Targets/(gbd)Launch ist.

3 Ändern Sie die Startdatei:

{
    "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. Ändern Sie die Datei 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. Kompilieren Sie nach Abschluss der oben genannten Schritte erneut. Die Debugging-Spalte in vscode ist dann nicht mehr grau und Sie können das Debuggen in einem Schritt durchführen.

Wie im Bild gezeigt:

3. Wie Cmake das GDB-Debugging unterstützt

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)   #添加语句

Das obige ist der detaillierte Inhalt vonSo debuggen Sie vscode in einem Schritt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn