본문 바로가기

IT

(4)
[VSCode][C++] 디버깅(디버그 콘솔) 입출력 안 됨 VSCode에서 C++ 소스 파일을 디버깅할 때 입력(cin, scanf 등)이 있어서 디버그 콘솔에 입력을 했음에도 불구하고 입력한 내용이 인식이 되지 않아 다음 단계로 넘어가지 않는 경우가 있다. 이 경우 출력되어야 할 메시지(cout, printf 등) 또한 디버그 콘솔에 출력이 되지 않는다. (예시) VSCode의 디버그 콘솔이 C++ 프로그램의 입출력을 지원하지 않기 때문이다. VSCode 내부 콘솔이 아닌 외부 콘솔을 사용하면 된다. 디버깅 관련 정보를 담고 있는 launch.json 파일의 "configurations" 하위의 "externalConsole"의 값을 'true'로 바꿔준다. { ... "configurations": [ { ... "externalConsole": true, ..
[VSCode][MSBuild] 오브젝트 파일(.obj) 생성 위치 변경 빌드 시 중간 결과물로 생성되는 오브젝트 파일(.obj)의 위치가 마음에 들지 않는 경우가 있다. VSCode에서 MSBuild로 빌드할 경우 실행 파일(.exe) 외에도 .ilk(증분 링크 정보), .pdb(프로그램 데이터베이스) 등 여러 파일이 부산물처럼 발생하게 된다. 이러한 파일들은 모두 기본적으로 소스 파일이 위치한 폴더에 생성된다. 그런데 유독 .obj(오브젝트) 파일만 한 단계 상위 폴더에 생성된다. (디렉토리 구조에 따라 달라질 수 있다.) 오브젝트 파일은 보통 빌드 이후에는 필요하지 않기 때문에 따로 분리해주는 것이라고 한다. 하지만 마찬가지로 특수한 경우가 아니라면 빌드 이후 더는 필요하지 않은 다른 여러 파일(.ilk, .pdb 등)은 정작 소스 파일과 같은 폴더에 생성되는 것을 보면..
[VSCode][MSBuild] 빌드 작업 시 출력 메시지(한글 영역) 깨짐 현상 문제 VSCode에서 MSBuild를 통해 빌드 등 작업(task)을 실행하면 그 결과가 터미널(콘솔)에 출력된다. 이때 출력되는 내용 중 다음과 같이 알 수 없는 문자가 포함되는 경우가 있다. 이전에 비슷한 실행 결과를 본 적이 있는 사람이라면, 해당 영역은 에러 메시지가 표시되는 영역이라고 추측할 수 있다. 그리고 만약 사용자 환경의 언어가 한국어라면 이 메시지는 한글로 출력될 것이다. 원인 이는 작업(task) 환경의 인코딩 형식이 한글을 지원하지 않기 때문에 발생하는 문제이다. 해결 작업 실행 시 수행되는 명령에 실행 환경의 인코딩 형식을 변경하는 명령을 추가함으로써 해결할 수 있다. "tasks": [ { "command": "%BUILD%", ... "options": { "env": { "B..
기술(개발자) 블로그의 컨텐츠 선정과 그 기준 드디어 기술 블로그를 오픈했습니다. 그동안 ‘기술 블로그를 시작해보자’고 생각은 하고 있었습니다. 그런데 저는 이를 쉽사리 실행에 옮기지 못했습니다. 바로 다음의 두 가지 이유 때문입니다. 첫째는 ‘어떤 플랫폼을 선택할 것인가’ 하는 것이었고, 둘째는 보다 근본적인 원인인데 ‘어떤 컨텐츠를 작성할 것인가’ 하는 것이었습니다. 첫 번째 문제인 플랫폼 선택에 관해서도 오랜 시간 심사숙고했는데, 이에 관한 내용은 이후에 포스팅하려고 합니다. 그렇다면 오늘 다뤄볼 내용은 ‘컨텐츠’에 관한 것입니다. 지금부터는 제가 기술 블로그를 개설하기에 앞서서 컨텐츠에 관해 어떤 고민이 있었는지, 그리고 어떤 기준으로 컨텐츠를 선정하게 되었는지를 이야기하려고 합니다. 그 기준은 3가지로, 다음과 같습니다. 1. ‘구글의 빈틈..