게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
프로그래밍 이제 시작하는 대학생 분들 자신만의 디버깅 방법을 익히세요
게시물ID : programmer_2093짧은주소 복사하기
작성자 : ummm
추천 : 1
조회수 : 662회
댓글수 : 7개
등록시간 : 2014/03/24 18:51:48
전 이제 막 컴공과 졸업해서 대학원에 입학한 늅늅이 입니다.
특별한 기술을 가지고 있는 것도 아니고 그냥 컴공 학부 졸업생 평균의 코딩능력을 가진 사람일 것입니다.
 
그런데 여기 질문글을 올리는 사람을 보면 아주 간단한 에러를 찾지못해서 질문을 올리는 초심자들이 많이 보입니다.
사실 코딩을 하다보면 문법오류가 없음에도 불구하고 프로그램이 실행되다 멈추는 경우가 많습니다.
이 경우는 논리적인 오류가 발생했기 때문인데요 (메모리를 잘못 접근했다거나 포인터에 쓰레기 값이 들어 있다거나 여러 원인 때문에)
이런 시맨틱 에러는 눈으로만 봐서는 찾기 어렵습니다 대부분 사람들의 특성입니다. 자신이 맞다고 생각하는 부분은 원래는 아는 지식임에도 불구하고 틀렸다는걸 발견하지 못하고 지나가죠
그렇기 때문에 코딩을 하는데 있어서 문법오류보다 논리 오류를 잡는 것이 더 중요합니다 문법오류는 컴파일러에서 다 알려주니까요

막 전체를 돌려보고 그냥 안된다고 하지 말고
자신의 코드에서 어디까진 제대로 되고 어디부터 안되는지를 파악하세요
 
비쥬얼 스튜디오에 디버깅하는 것도 있습니다. 충분히 좋은 방법이지만 전 처음에 코딩할때부터 안쓰다 보니 계속 안쓰게 되네요
제가 쓰는 방법을 설명해 보자면
c나 c++을 예로 들면
printf 이용해서 사이사이에 쓸데없는 문자(혹은 자기가 사용하고 있는 변수들) 예를 들어
 
....
 
printf("1\n");
 
....
printf("2\n");
 
....
printf("3\n");
 
이런식으로 코드 사이사이에 넣고 컴파일을 시키면(문법오류는 당연히 없어야겠죠?) 오류가 나기전까지 출력됩니다
만약 2까지 출력되면 2다음부터 에러가 났다는것을 알 수 있죠
 
그리고 중간중간에 의심가는 변수에 값이 제대로 들어갔는지 확인해 보면 쉽게 해결되기도 하고요
 
여기에 질문 올리시는 분들 보면 엄청 긴 코드를 그냥 그대로 복사 붙여넣기 해놓고 어디가 틀린지도 모르는채
 
틀린곳 찾아달라는 사람이 많습니다( ;같은거 안넣은 신택스오류(문법오류) 올리는 사람은 진짜 이런말 하면 안될진 모르겠지만 노답이고요 왜냐하면 컴파일러에서 몇번째 줄에 ;없다고 다 알려주거든요)
적어도 자기가 어디가 틀린지 찾아내고 왜 틀렸는지 고민하다가 정 안되면 그 부분에 대해서만 질문을 한다면 답변하는 사람도 답변하기 쉽고 질문한 사람도 이해하기 쉬워서 공부에 더 도움이 될거라고 생각합니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호