XE

xe 디버깅 하는 방법

by 넥스 posted Sep 04, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
관련링크 https://opencocktail.tistory.com/entry/%...4%EB%AA%85

XE디버깅하는방법

https://github.com/rhymix/rhymix/pull/268

https://xetown.com/tips/181226




참고사이트 - https://www.xpressengine.com/tip/17899854


xe 분석을 하다보니 디버깅에 대한 고민이 생겨 정리를 해 보았습니다.


(XE설치경로)/config/config.user.inc.php

  • 기본 설정보다 우선하는 사용자 구성 파일
  • 아래의 정보를 사용자 구성 파일에 새로 작성하여 저장

<?php

    define('__DEBUG__', 0);

    define('__DEBUG_OUTPUT__', 0);

    define('__DEBUG_PROTECT__', 1);

    define('__DEBUG_PROTECT_IP__', '127.0.0.1');

    define('__DEBUG_DB_OUTPUT__', 0);

    define('__LOG_SLOW_QUERY__', 0);

    define('__LOG_SLOW_TRIGGER__', 0);

    define('__LOG_SLOW_ADDON__', 0);

    define('__LOG_SLOW_WIDGET__', 0);

    define('__DEBUG_QUERY__', 0);

    define('__OB_GZHANDLER_ENABLE__', 1);

    define('__ENABLE_PHPUNIT_TEST__', 0);

    define('__PROXY_SERVER__', 'http://domain:port/path');

    define('__ERROR_LOG__', 0);

 

__DEBUG__

어떤 종류의 디버깅 메시지를 출력할 것인지 선택합니다. (비트연산으로 복합적으로 사용 가능)

  • 0x00 : 메시지 미출력
  • 0x01 : debugPrint() 함수에 의한 메시지 출력
  • 0x02 : 출력 소요 시간, 요청/응답 정보 출력
  • 0x04 : DB 쿼리 내역 출력

__DEBUG_OUTPUT__

디버깅 메시지의 출력 방법 선택합니다.

  • 0 : files/_debug_message.php 파일에 출력 (안되던데??)
  • 1 : 웹페이지 소스보기에서 맨 하단에 주석으로 출력
  • 2. : FirePHP 콘솔 출력

선택의 여지가 없이 FirePHP 콘솔 출력을 사용할 듯 합니다. [FirePHP for Chrome]를 설치하시고 개발자도구를 열어보시면 새로운 탭이 생깁니다.


__DEBUG_PROTECT__

디버깅 메시지를 확인할 수 있는 IP 주소에 대한 범위를 지정할 수 있습니다.

  • 0 : 제한없음 (권장하지 않음)
  • 1 : 특정 IP 주소만 허락

__DEBUG_PROTECT_IP__

__DEBUG_PROTECT__가 1일 때, 디버깅 메시지를 볼 수 있게 허가된 IP 주소를 설정합니다.


__DEBUG_DB_OUTPUT__

DB 에러 메시지를 파일 출력할 것인지를 선택합니다.

  • 0 : 에러 메시지 미출력
  • 1 : files/_debug_db_query.php 파일에 출력

__LOG_SLOW_QUERY__

__LOG_SLOW_TRIGGER__

__LOG_SLOW_ADDON__

__LOG_SLOW_WIDGET__

지정된 시간(밀리초)보다 실행시간이 초과되었을 경우 파일 출력할 것인지를 선택합니다.

  • 0 : 메시지 미출력
  • 1 : files/_slowlog_xxxx.php 파일에 출력

__DEBUG_QUERY__

XML 쿼리 ID를 실행되는 query문에 주석으로 출력이 된다는 뜻인 것 같습니다. (사용법을 정확히 모르겠네.)

  • 0 : XML 쿼리 ID 미출력
  • 1 : XML 쿼리 ID 출력

__OB_GZHANDLER_ENABLE__

웹페이지 테이터를 압축 전송할지의 여부를 선택합니다.

  • 0 : 미사용
  • 1 : 사용

__ENABLE_PHPUNIT_TEST__

PHP unit 테스트 사용 여부를 선택합니다.

  • 0 : 미사용
  • 1 : 사용

그 외,

__PROXY_SERVER__, 

__ERROR_LOG__

는 생략하기로 합니다.