PHP와 Javascript를 할 때 알아 두면 편한 디버깅 방법에 질문을 받곤합니다.

디버깅 방법은 생각보다 단순 합니다.


물론 그 해결 과정이 어려울 때도 있습니다.



1. 신텍스 에러를 체크 해주는 툴을 사용하세요.

- 저 같은 경우는 이클립스를 사용합니다. 신텍스 에러는 색깔이 다르게 되어서 주소창에 해당 파일을 실행하기 전에 어떤 부분에서 에러가 났는지 알수 있습니다.


2. 각 브라우저의 디버깅 툴을 사용하세요.

- 익스플로러의 경우 F12를 누르면 개발자 도구 창이 뜨게 되고 이 콘솔창에서 에러의 내용을 알수 있습니다.

- 크롬도 F12 입니다.

- 파이어폭스를 개발용으로 주로 사용합니다. 

Firebug 플러그인을 설치하시면 자바스크립트 에러 내용을 자세하게 알수 있습니다.


3. 익스플로러의 경우 에러 표시를 체크하여 주세요.




모든 스크립트 오류에 관련된 알림 표시를 체크하여 주시면 됩니다.

이 것을 체크해주셔야 자바스크립트 에러가 alert window로 보입니다.


4. 테스트 서버는 없고, 운영되고 있는 서버에서 테스트 해야 한다면 ....

- 쇼핑몰 결제 테스트의 경우 이럴 경우가 있습니다. 결제 대행사의 결제 모듈은 실 서버에서만 실행이 되기 때문에 실 서버에서 테스트 해야 하는데요.


$allow_ips = array(
    "0.0.0.0"
);

if(in_array($_SERVER['REMOTE_ADDR'], $allow_ips)){
    ...................;
}


if문 안의 내용은 허용한 IP만 보여지거나 실행될 부분 입니다.

허용 할 IP가 두개 이상이라면


$allow_ips = array(
    "0.0.0.0", "1.1.1.1", "2.2.2.2"
);


단 아이피는 공유기 아이피 입니다.


4. 값 확인

*PHP

GET이나 POST 값이 정상적으로 넘어 왔는지 확인 할 때 

echo "value : ".$_GET[xxxxx]; 하고 값을 확인 하거나


print_r($_GET]; 하면 값을 확인 할 수 있습니다.


*Javascript

alert("value : " + 변수명); 혹은 


var aaa = "test";

console.log(aaa);


그 외 jquery 사용 한다면, 

$("#result").html(확인 할려는 변수);

<div id="result"></div>


하면 result div에 확인하고자 하는 값이 나옵니다.


5. 파일을 정상적으로 로드 되었는지 확인

firefox httpfox 플러그인을 다운 받아서 파일이 정상적으로 로드 되었는지 패킷 캡춰하시면 알수 있습니다.

익스플로러도 F12 눌러서 네트워크 탭을 선택하면 알수 있습니다.

+ Recent posts