디버깅의 기초 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

디버깅의 기초 정보

PHP 디버깅의 기초

본문

요즘 Q & A 게시판에 답변달아주면서 느낀점....

 

일단 질문자들이 너무 막연하게 질문을 올립니다. 답변을 달아주고 싶은데

도대체 뭐가 궁금한건지 뭐가 알고 싶은지 이해하기가 정말 힘듭니다.

질문을 해결하는 것보다 질문을 이해하는게 한 10배는 더 힘든것 같아요.

 

팁게시판이라 공부하려는 분들, Q&A 질문 많이 올리는 사람이 자주 볼것같아서 이렇게 잡소리로 시작하는 점 이해해주길 바라구요. 질문을 할때 내가 무엇을 어떻게 하고 싶은지 제발정확히 써주세요...

 

그럼 본론으로 들어가서 그누에 공부하는 어린 학생들이 많은 것같은데 다들 디버깅 하는 기본을 잘 모르는 것 같아서 이렇게 글을 써봅니다.

 

제가 php 개발하면서 제일 많이 쓰는 함수가 print_r 입니다. var_dump도 있지만 저는 print_r을 애용합니다. 왜 일까요? 디버깅 때문이죠.

 

대부분 보면 어디에서 어떤 문제가 생겼는지 감은 안오니 어디서부터 뭘해야할지 모르는 것같아요.

 

특히 오타로 인한 구문오류면 오류메세지라도 띄워주지 구문오류가 아닌 오타로 원하는 결과를 얻지 못하면 순간 막막해질것입니다.

 

이때는 다시 프로그램을 짤수도 없고 방법은 하나밖에 없습니다.

 

위에서 부터 중간중간 print_r로 변수값들을 출력해보는 것입니다.

 

머리속으로 연산을 해보고 중간에 print_r로 찍은 값이 맞는지 제대로 들어갔는지 확인을 하는거죠.

 

이상이 없으면 아래에서 또 찍어보고, 이렇게 잘못된 정보가 들어가는 곳을 찾아가야합니다.

 

그렇다고 한줄마다 찍지 마시구요. 대략적으로 구간을 정해서 찍으면서 내려오세요.

 

그러다보면 어느 구간에서 연산이 잘못되었는지 찾을 수 있습니다. 그렇게 구간을 찾아보면 그부분을

 

집중해서 다시 살펴보는거죠. 그러다보면 뭐... 80% 이상은 오타....

 

저같은 경우에는 print_r 만 찍으면 옆으로 나열되서 보기 힘드니까

echo "<pre>";

print_r(변수);

echo "</pre>";

이렇게 사용하거나 print_r만 쓰고 소스보기를 합니다.

 

특히 form 데이타를 넘겨받는 프로세스 파일 코딩할때는 제일 먼저하는게 print_r($_POST); 로 form 데이타가 전부 이상없이 넘어오는지 확인하고 시작합니다.

 

 

추천
0

댓글 0개

전체 5,397
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT