티스토리 뷰

반응형


자고 일어나니 하늘에서는 눈폭풍이 오는군요.



눈보라를 맞으며 피트니스센터로 향하는 글쓴이


너무 추워서 운동하러 나온 분들도 없네요?  아 작심삼일 이라고요?    ㅇㅈ 합니다.



오늘의 포스팅 내용은 <버그> 입니다.


게임을 즐겨하시는 분들이라면 한번쯤은 입에 올려보았을 단어 버그(Bug) '벌레' 라는 의미와도 같은데요.


버그의 유래는 미국 해군에서 사용하던 컴퓨터의 고장원인을 찾던 중에 내부에 끼어있던 나방을 발견하였는데 원인은 나방이 일으킨 합선의 영향으로 컴푸터가 고장이 발생한 것입니다. 




뀨?





세상의 개발자들이 이것 때문에 야근을 매일하고 있습니다. 프로그램 개발자의 친구 버그에 대해 공부할게요. 


  

버그란?  의도치 않은 프로그램의 동작을 일으키는 현상 혹은 오류 라고 생각하시면 됩니다.


프로그램의 코드를 완성시키면 꼭 버그를 검사를 하여 이상이 없는지 확인을 하셔야 합니다.


버그가 있는지 체크하는 방법은 아주 간단합니다. 


메뉴창에 디버그를 클릭 후 디버깅 시작을 클릭하거나 키보드의 [F5]를 누르시면 됩니다. 이렇게 버그의 유무를 확인하는 것을 <디버깅>이라고 합니다.



바로 디버깅을 해보겠습니다.




#include <stdio.h>


int main()


{


print("%s, %s %s\n","hello","C","language");


return 0;

} 






주어진 초~~~~간단한 코드를 입력하고 눈으로 어떤 부분이 틀렸는지 확인해 보세요


원인을 못찾겠다고요?  정말요? 어렵다고요? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ








"이 xx가?"






틀린것을 눈으로 찾는건은 중요하지 않습니다. 지금은 쉽게 찾을수 있지만 전문 분야로 들어가면 못찾는것이 일상이거든요.

 

그럴땐 알려준 디버깅을 해보면 쉽게 찾을 수 있습니다.  디버깅이 끝나면 프로그램 하단에 오류목록이 생성됩니다.




자 오류목록을 확인하였으면 다음 할 일은 코드를 고치는 일입니다. 오류목록을 클릭하시면 버그가 발생한 라인을 찾아가 표시해줍니다. 


물론 목록 맨 오른쪽에 몇번째 라인인이 확인도 해줍니다. 


버그의 원인은 printf 코드의 사용 오류 였습니다. print 까지만 입력하고 f 를 입력을 하지 않은 상태로 실행을 시켜 버그가 발행하였습니다.


버그를 찾아 고치고 다시 디버깅을 하면?  프로그램은 정상적으로 실행이 됩니다.





"글쓴아 프로그램 코드가 너무 길면 어디서 부터 요류가 발생했는데 원인을 찾는데 힘들지 않을까?"





네 실제로도 프로그램의 코드라인은 기본 1만줄이 넘습니다. 때문에 디버깅을 해도 어디서 부터 고장이 생긴건지 알 수가 없습니다.


때문에 우리가 배워야할 꼼수!!  바로 <중단점> 입니다. 영어로는 break point 입니다. 

코드 소스의 중간에 중단점을 삽입하여 프로그램을 중단점까지만 실행하도록 합니다. 




그럼 바로 사용해 보죠 


중단점 생성은 사용자가 원하는 코드 라인을 클릭 후 오른쪽 클릭 중단점(B)>중단점 삽입(R) 혹은 키보드 [F9]를 누르거나 코드라인의 맨 외쪽 끝을 클릭하셔도 됩니다.


우선 아래와 같이 코드를 입력 후 위에 설명한 방법으로 해보면 



#include <stdio.h>


int main()


{

int a = 10;

int b = 20;

int c = 30;


printf("%d %d %d\n", a, b, c);


return 0;

}







맨 왼쪽에 빨간 점이 삽입이 되었으면 잘하셨습니다. 


제 디버깅을 하면 6번줄까지만 실행 후 빨간점 안에 노란색 화상표를 표시하면서 디버깅을 중단할 겁니다.




현대 단계에서 키보드의 [F10]을 눌러볼까요? 그러면 노란색 화살표가 한칸 밑으로 이동할 것 입니다.


키보드의 [F10]은 프로시저 단위로 이동하는 단축키 입니다. 여기서 <프로시저>란 코드라인의 정식 명칭입니다.

코드라인은 제가 처음 공부하시는 분들을 위해 잠시 사용한 단어로 이제부터는 프로시저라고 하시면 됩니다.


이렇게 키보드의 [F10]을 누르면 왼쪽 하단에 매개변수에 저장된 값을 표시해줍니다.






이것은 각 매개변수 a,b,c 에 저장된 값을 표시해줍니다. 값이 아직 저장되지 않았다면 분명 값에 -8589... 이런식으로 표시가 됩니다.




중단점과 디버깅을 이용하면서 저는 마우스 클릭보다는 키보드의 사용애 익숙해져 있습니다. 사용자 여러분들도 키보드 사용에 익숙해 지시며 나중에 조금이라도 편하게 프로그램을 만드실 수 있습니다. 



중단점 삽입/삭제 : [F9]

디버깅 시작 : [F5]

디버깅 중지 : [Shift]+[F9]

프로시저 단위 실행 : [F10]




어떤 차이가 있냐구요?  스타크래프트를 마우스로만 하는 것과 키보드+마우스로 하는 차이가 생깁니다.  


지금까지 디버깅과 중단점에 대해 이야기 해보았습니다.


지금까지 설명충 언어싸움이었습니다.  



반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함