에러를 제대로 잡아보자 xdebug 정보
에러를 제대로 잡아보자 xdebug본문
대부분의 에러는 error.log 에 찍힙니다만
어디서 어떤 데이터를 가져갔고 어떻게 처리 되다가 exception 이 떨어졌는지를 확인하기 위해
echo 라던지 var_dump 라던지 print_r 을 찍는 방법을 아직도 사용하시는 분들께 추천합니다.
컴파일 언어를 자주 사용하다보면 느끼는 부분이죠
'인터프리터 언어는 break point 를 걸 수 없나?'
모든 의문의 시작인 거기서 나온 결과입니다.
php 도 break point 를 걸 수 있고 디버깅이 가능하다는것이죠.
우선 xdebug 가 있습니다.
뭐 zend 용도 있고 기타 등등도 많지만.. 저 같은 경우에는 상용망과 테스트망을 분리해두어서
테스트망에만 위의 xdebug 를 설치하고 로컬에서 넷빈즈 또는 이클립스 등의 IDE 로 검증을 합니다.
unit test 와 더불어 개발자가 자신이 짠 코드를 검증하기 위해 에러를 강제적으로 발생시켰을 때
어디서 어떠한 일을 수행하고 죽었는지를 조금 더 편하고 명확하게 확인할 수 있지요.
아래 phpunit 이 보이길래 첨언 해봅니다.
공감
1
1
댓글 5개

과거에 메뉴얼을 보고서
어떻게 사용하는건지 맨붕이 와서 접었었거든요.
사용법이 제대로 나온 페이지가 어디에 있는지 부탁 드려도 될까요?
어떻게 사용하는건지 맨붕이 와서 접었었거든요.
사용법이 제대로 나온 페이지가 어디에 있는지 부탁 드려도 될까요?
설치야 많이 나와있으니 다음으로 넘기고
저 같은 경우에는 넷빈즈에 반영해서 사용하는데 아래의 사이트를 많이 참조했어요.
로컬이 아닌 별도의 서버에서 테스트용도로 사용할려고 보니 터널링으로 해당 포트를 열어줘야 하더라구요.
http://www.davidlaing.com/2012/07/29/howto-configure-netbeans-php-debugging-for-a-remote-server-over-a-ssh-tunnel/
위의 링크를 참조하여 터널링 열어주시면 되구요.
넷빈즈 환경설정 -> php -> debugging 부분에
debugger port 를 설정해주시고
session ID 를 설정 해주세요. (netbeans-xdebug )
그 후 postman 을 이용해서 아래와 같이
http://테스트망주소?XDEBUG_SESSION_START=netbeans-xdebug
로 요청하시면 되며 넷빈즈에서는 debugger 를 on 하시면 잡을 수 있습니다.
이미지 없이 글로만 설명하자니 조금 빈약한데 혹 부족하시면 추후 정리해서 올려드릴께요.
저 같은 경우에는 넷빈즈에 반영해서 사용하는데 아래의 사이트를 많이 참조했어요.
로컬이 아닌 별도의 서버에서 테스트용도로 사용할려고 보니 터널링으로 해당 포트를 열어줘야 하더라구요.
http://www.davidlaing.com/2012/07/29/howto-configure-netbeans-php-debugging-for-a-remote-server-over-a-ssh-tunnel/
위의 링크를 참조하여 터널링 열어주시면 되구요.
넷빈즈 환경설정 -> php -> debugging 부분에
debugger port 를 설정해주시고
session ID 를 설정 해주세요. (netbeans-xdebug )
그 후 postman 을 이용해서 아래와 같이
http://테스트망주소?XDEBUG_SESSION_START=netbeans-xdebug
로 요청하시면 되며 넷빈즈에서는 debugger 를 on 하시면 잡을 수 있습니다.
이미지 없이 글로만 설명하자니 조금 빈약한데 혹 부족하시면 추후 정리해서 올려드릴께요.

감사해요...다음주내로 시간내서 도전(?) 해볼께요...
이거 설정했을때 부하는 어떤지요?
의미가 정확히 이해되진 않지만
단순하게 생각하면 미비합니다.
단순하게 생각하면 미비합니다.