디버깅이란 컴퓨터에서 발생한 오류를 잡기 위해 소스 코드를 한 줄 한 줄 추적해 가며 변수 값의 변화를 검사하는 작업이다. 즉, 디버깅을 한다는 것은 사람이 컴퓨터가 되어 컴퓨터가 실행하는 일련의 코드를 직접 한줄씩 실행해 보면서 어떻게 게산이 이루어지는지, 어디가 잘못되었는지 살펴보는 것이다.
알고리즘에 익숙하지 않은 사람이 알고리즘을 표현한 순서도를 이해하려면 반드시 디버깅 과정을 거쳐야한다. 무엇을 수행하는 순서도인지 파악하지 못한 상태에서, 디버깅만큼 빠르게 알고리즘을 파악할 수 있는 도구는 없다. 특히 실제 시험은 순서도의 군데군데에 놓여져 있는 빈 괄호에 알맞은 명령어를 채워 가는 것인데, 이것은 다른 사람이 만들어 놓은 순서도를 이해해야 하기 때문에 알고리즘에 대한 순서도를 직접 그리는 것보다 훨씬 어렵다. 어떤 로직을 이용했는지, 이 변수는 모슨 용도로 사용했는지, 반복은 몇번을 수행했는지, --- 등등 순서도를 만든 사람의 의도를 제대로 파악해야 그 순서도를 이해할 수 있기 때문이다. 컴퓨터 프로그래밍의 고수들도 처음 보는 순서도나 프로그램을 분석할 때에는 반드시 디버깅을 한다는 것을 명심하고, 순서도의 명령 하나 하나를 손으로 짚어가며 변수의 결과를 확인해 봐야 한다. 알고리즘을 빠르게 습득하는 방법은 알고리즘의 원리를 이해한 후 순서도를 디버깅하는 것임을 잊지 말아야 한다.
그리고 알고리즘을 이해하는 것이 어려워 알고리즘을 외워서 시험 보려는 수험생이 있는데, 지금 당장 포기하기 바란다. 알고리즘이란 외우기도 어렵지만 변수나 조건문, 반목분의 위치나 초기 값만 조금 변경해도 전혀 다른 결과가 나오기 때문에 알고리즘을 외워서 시험을 본다는 것은 시간 낭비일 뿐이다.
순서도에 사용된 모든 변수를 직접 적어 보고 하나하나 추적해 가며 칸을 채우면서 이것이 무엇을 계산하는 알고리즘인지 파악될 때까지 디버깅을 반복해야한다. 이 작업이 숙달되면 처음 보는 순서도도 무엇을 계산하는 순서도인지 쉽게 파악할 수 있게 되며, 그 때가 되야 비로소 여러분도 시험 치를 준비가 된 것이다.
-정보처리산업기사 실기-
[2020 시나공 정보처리산업기사 실기 기출문제집 중 6장 디버깅] 발췌-
| 글이 도움이 되었다면 공감❤️ 부탁드립니다.
| 질문, 토론, 그저 그런 이야기 모두 댓글 환영해요. :D
| Instargram @00_minwooky
'프로그래밍' 카테고리의 다른 글
웹개발 TID(Today I Learned) 2일차 (0) | 2022.06.12 |
---|---|
웹개발 TID(Today I Learned) 1일차 (0) | 2022.06.09 |
정보처리산업기사 - EAI, CRM, CPM (0) | 2021.04.03 |
[클론코딩] - 로또 번호 생성기 (0) | 2021.03.18 |
코틀린(Kotlin)이 뭐지? 내 경험 (0) | 2021.03.17 |