2023. 11. 28. 23:12ㆍTrouble Shootings/Tool
결론부터 말씀드리면 Visual Studio Code에서 따로 설정을 하여 해결한 것은 아닙니다. 단순히, 저의 어리석은 실수로 인해 발생했던 문제였어요... 이걸 겪으면서 C++ 언어의 무서움이 다시 한 번 느껴집니다. 오류를 안 뱉어요...
☢️ 문제가 발생한 상황
🔗단지번호붙이기라는 백준 사이트 문제를 푸는 중이었고, 작성한 코드가 제대로 돌아가는지 Visual Studio Code 상에서 실행을 해봤습니다. 그런데, 입력값을 주고 실행을 시켜도 아무런 응답이 없었습니다.
무슨 일인가 싶어 중단점을 찍고 다시 입력값을 준 후, 한 줄을 실행했는데 이번에는 디버거가 꺼져버렸습니다. 이게 무슨 일인가요?... 그러다가 Visual Studio Code에서 에러 메세지를 하나 내보내 줍니다.
unable to start debugging.
unable to establish a connection to gdb.
debug output may contain more information.
그리고 디버거를 실행하려니, 다음과 같은 에러도 뜨더군요.
launch.json 파일을 제가 수정한 적이 없으니, 누가 고의로 악행을 저지르지 않은 이상 launch.json 파일 문제는 아닐 것 같습니다. 그럼 무엇이 문제일까 싶어, 구글에 검색을 해봤는데, 해결 사례는 보지 못한 것 같습니다.
제 환경이 이상한 걸까 싶어, 🔗리플릿(Replit)이라는 온라인 IDE 환경에서 제 코드를 테스트 해보았습니다. 하지만 여기에서도 똑같은 결과가 나타났습니다.
디버거도 못 쓰니, 화면 출력이라는 마지막 방법을 통해 입력 부분 코드를 확인해봤는데 이상하게 입력이 들어가더군요.
엇, 설마하고 다시 문제의 입력 데이터들을 확인해봤습니다.
✅ [해결] 나는 그냥 바보였다.
// 예제 입력 1
7
0110100
0110101
1110101
0000111
0100000
0111110
0111000
저는 바보였습니다. 주어진 입력들을 vector<vector<int>>에 담으려고 했고, cin 연산자는 공백이 나올 때까지의 입력을 받으니 이상한 값이 들어갔던 거였습니다... vector<string>으로 받으니 리플릿에서도, Visual Studio Code에서도 정상적으로 잘 작동하는 걸 확인하였습니다.
본 제목 글과 연관이 없는 게시글이긴 하지만, 제가 똑같은 실수를 하는 걸 방지하기 위해, 그리고 혹시나 저와 같은 또 다른 분이 계실까 하여 이렇게 글로 남기게 되었습니다. (C++은 무서운 언어입니다.)
'Trouble Shootings > Tool' 카테고리의 다른 글
[Git] .gitignore 파일들을 무시하여 스테이지에 올리기 (git add .) (0) | 2023.01.31 |
---|