VisualStudioCodeでOpenCVを使ったC++プログラムをブレークポイントで停止させてデバッグできるようにしてみる②

f:id:treehitsuji:20190215155327p:plain

CMakeLists.txtを以下に変更

cmake_minimum_required(VERSION 3.5.1)                                                              
project(main)                                                                                      
set(CMAKE_CXX_STANDARD 11)                                                                         
set(CMAKE_CXX_FLAGS "-Wall -g")                                                                    
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBRARIES})

main.cppを以下に変更

#include <opencv2/core/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
    std::cout << cv::getBuildInformation() << std::endl;
    return 0;
}

7行目にブレーク―ポイントを設定 f:id:treehitsuji:20190218105307p:plain

コマンドパレットを起動して(Ctrl+Shift+p)
Cmake:Build a Target を選択する。

f:id:treehitsuji:20190218105633p:plain

ALLを選択

f:id:treehitsuji:20190218105732p:plain

OUTPUTビューにビルド成功と表示されればOK

[build] [ 50%] Building CXX object CMakeFiles/main.dir/main.cpp.o
[build] [100%] Linking CXX executable main
[build] [100%] Built target main
[build] Build finished with exit code 0

メニューより Debug->Start Debugging を選択する。またはF5キーを押す

Select Enviroment と表示されるので
C++(GDB/LLDB)を選択

f:id:treehitsuji:20190218110208p:plain

Lanch.json が自動的に作成される。
Lanch.jsonの以下の行を変更する。

"program": "enter program name, for example ${workspaceFolder}/a.out",

変更後

"program": "${workspaceFolder}/build/main",

f:id:treehitsuji:20190218110748p:plain

セーブして。再度
メニューより Debug->Start Debugging を選択する。またはF5キーを押す

ブレークポイントで止まる。

f:id:treehitsuji:20190215155327p:plain