ROS는 기본적으로 일반용 실행파일이랑 디버그용 실행 파일이 나눠져 있어서
디버그용 실행 파일을 만드려면 다른 빌드 커맨드를 써야됨
~/catkin_ws를 vscode에서 실행
$ cd ~/catkin_wd
$ code .
그리고 ~/catkin_ws/.vscode/tasks.json 안에 아래 task를 넣음
"tasks": [
{
"label": "make_debug",
"type": "catkin_make",
"args": [
"--directory",
"${workspaceFolder}",
"-DCMAKE_BUILD_TYPE=Debug", // This extra argument enables built with debug symbols
],
"problemMatcher": [
"$catkin-gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
},
]
그리고 컨트롤 + 쉬프트 + P를 누름
다음 [Tasks: Run Task]를 누르고
make_debug 실행
그러면 디버그용 실행 파일들이 빌드됨
그리고 ~/catkin_ws/.vscode/launch.json의 configurations 안에 다음 코드를 넣음
"configurations": [
{
"name": "ROS: Attach",
"type": "ros",
"request": "attach"
},
그리고 아래 디버그 창 누르고
디버그 실행하기전에 디버그할 노드를 먼저 (rosrun이나 roslaunch) 실행 해줌
그리고 멈출 부분 찾아서 중단점 지정해 놓고
디버그를 아까 launch.json에 넣어둔 ROS: Attach로 맞춰둠
그리고 현재 패키지 코드에 맞는 언어(c++, python)를 클릭하고
ros::init에 지정한 노드 이름을 검색하고 엔터하면 디버깅 시작됨
'프로그래밍 > ROS' 카테고리의 다른 글
ROS) 노드로 안쓰는 코드 라이브러리화 하기 (0) | 2021.07.05 |
---|---|
ROS에서 serial 통신하는 경우 보내거나 받은 실제 hex 데이터 확인 방법 (0) | 2021.06.24 |
ROS에서 nodelet을 사용하는 이유 (0) | 2021.04.27 |
커스텀 msg를 리스트로 요소로써 가지고 있는 srv 만들기 (0) | 2021.04.07 |
lepton 3.5 Flir 열화상 카메라에서 gain값 바꾸기(python) (1) | 2021.04.02 |