티스토리 뷰

XAMPP 에 포함되어 있는 XDebug 를 이용해서 이클립스에서 편하게 디버깅 할 수 있도록 설정하는 방법입니다. 설정이 그리 어렵지 않지만 몇가지 문제때문에 어려워하는 분들이 계실까봐 글을 남깁니다.

보통 웹프로그래밍을 할때에는 작성 후 브라우저를 통해 결과를 확인하는 작업을 하게 되는데, 이클립스를 통해 디버깅을 하게되면 이클립스 하단에 바로 결과값이 나와 개발의 효율과 편의를 도모할 수 있습니다.
단, XDebug 는 ZendOptimizer 와 함께 사용할 수 없습니다. 개발을 위해 주로 로컬 서버에서만 사용할 목적이기 때문에 Zend 를 사용 못하는건 그리 큰 문제가 되지 않으리라 생각됩니다.

XAMPP 는 현재 1.7.1 버전까지 나와 있으며 XAMPP 다운로드 사이트에서 받을 수 있습니다. (해당 페이지에서 자신의 OS 에 맞는 버전을 선택해서 설치하면 됩니다. 설치버전/무설치버전/무설치,무설정 버전을 골라 받으세요.)

※ 이 글은 디버깅 설정 방법이 목적으므로, XAMPP 설치나 php.ini 설정 방법 등 자세한건 다루지 않습니다.
※ 아래 예에서 경로 입력시 각자 자신이 설치한 경로에 맞게 수정해서 설정하시기 바랍니다.

  1. php.ini 파일을 열어 설정을 변경해야 합니다. (중요!)
    extension 설정하는 부분에서 php_xdebug.dll 이 있는데 혹시 세미콜론(;)을 제거해서 로드하신 분은 앞에 세미콜론을 붙여주세요. (주석처리 하여 사용하지 않는것입니다.)

    ;extension=php_xdebug.dll


    php.ini 파일 끝 부분에 위치한 Zend 와 XDebug 설정을 찾아 아래처럼 바꿔줍니다.

    [Zend]
    ;zend_extension_ts = "D:\Server\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
    ;zend_extension_manager.optimizer_ts = "D:\Server\xampp\php\zendOptimizer\lib\Optimizer"
    ;zend_optimizer.enable_loader = 0
    ;zend_optimizer.optimization_level=15
    ;zend_optimizer.license_path =


    [XDebug]
    ;; Only Zend OR (!) XDebug
    zend_extension_ts="D:\Server\xampp\php\ext\php_xdebug.dll"
    xdebug.remote_enable=true
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9000

    ;xdebug.remote_handler=dbgp
    ;xdebug.profiler_enable=1
    ;xdebug.profiler_output_dir="D:\Server\xampp\tmp"


    ※ XDebug 에서 프로파일링을 사용하려면 아래 xdebug.profiler_* 의 앞에 세미콜론을 없애고 경로를 올바르게 지정하면 됩니다.
     

  2. eclipse 에서 디버깅 설정을 해준다.
    1. 'Run > External Tools > External Tools Configurations...' 선택

       
    2. 'Program' 을 선택, 더블클릭 하거나, 화면 왼쪽 상단에
       새로 추가 아이콘을 선택.

      아래에서 경로는 PHP 가 설치된 폴더를 선택하면 됩니다.

      Location : D:\Server\xampp\php\php.exe
      Arguments
      : -f "${resource_loc}" -c "D:\Server\xampp\php\php.ini"


      클릭하면 더 크게 볼 수 있습니다.


       

쉽게 설정이 완료되었습니다.
Run 버튼을 눌러 실행해보면 화면 하단부 'Console' 창에 결과가 나옵니다.

※ 주의할점은 프로젝트에 포함된 파일이 아니라면 디버깅시 이클립스에서 오류가 납니다. =_=


아래는 일부러 오류를 만들어 디버깅 한 장면 입니다.

디버깅한 장면

디버깅한 장면

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함