### tasks.json { "version": "2.0.0", "tasks": [ { "label": "checkCrossCompile", "command": "bash", "args": [ "-c", "if [ -n \"$CROSS_COMPILE\" ]; then echo 'true'; else echo 'false'; fi" ], "type": "shell" }, { "label": "setCrossCompileEnv", "dependsOn": ["checkCrossCompile"], "command": "echo 'IS_CROSS_COMPILE=${checkCrossCompile.result}' > .vscode/env.txt", "type": "shell" } ] } ### launch.json { "version": "0.2.0", "configurations": [ { "name": "C++ Launch (x64)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build_x64/executable", "envFile": "${workspaceFolder}/.vscode/env.txt" }, { "name": "C++ Launch (ARM)", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build_arm/executable", "envFile": "${workspaceFolder}/.vscode/env.txt" } ] }
tasks.json
파일은 checkCrossCompile
작업과 setCrossCompileEnv
작업을 정의합니다. checkCrossCompile
작업은 CROSS_COMPILE
환경 변수가 설정되어 있는지 확인하고, setCrossCompileEnv
작업은 IS_CROSS_COMPILE
변수의 값을 checkCrossCompile
작업의 결과에 따라 설정합니다.
launch.json
파일은 C++ Launch (x64)
및 C++ Launch (ARM)
이라는 두 가지 디버깅 구성을 정의합니다. 두 구성 모두 envFile
속성을 사용하여 .vscode/env.txt
파일에서 환경 변수를 가져옵니다.
이 구성을 사용하면 디버깅 세션을 시작할 때 다음과 같은 일이 발생합니다.
checkCrossCompile
작업이 실행되어CROSS_COMPILE
환경 변수가 설정되어 있는지 확인합니다.CROSS_COMPILE
환경 변수가 설정되어 있으면IS_CROSS_COMPILE
변수가true
로 설정됩니다.CROSS_COMPILE
환경 변수가 설정되어 있지 않으면IS_CROSS_COMPILE
변수가false
로 설정됩니다..vscode/env.txt
파일에IS_CROSS_COMPILE
변수의 값이 기록됩니다.C++ Launch (x64)
또는C++ Launch (ARM)
구성을 사용하여 디버깅 세션을 시작합니다.
디버깅 세션을 시작하면 envFile
속성에 지정된 파일에서 환경 변수를 읽습니다. 이 경우 .vscode/env.txt
파일에서 IS_CROSS_COMPILE
변수의 값을 읽습니다.
따라서 IS_CROSS_COMPILE
환경 변수의 값은 디버깅 세션에 따라 true
또는 false
가 됩니다.
댓글 없음:
댓글 쓰기