오류 추적
xdebug는 오류가 발생했을 때 오류가 어떤 맥락에서 발생한 것인지를 추적해서 보여준다. 아래의 예제는 존재하지 않는 변수를 호출했을 때 이 오류가 어떤 맥락에서 발생했는가를 보여준다.
<?php ini_set('xdebug.collect_params', '4'); ini_set('xdebug.dump.GET', '*'); ini_set('xdebug.dump.SERVER', 'REQUEST_URI'); ini_set('xdebug.show_local_vars', 'on'); function a($_a){ echo $d; return $_a; } function b($_b){ return a($_b); } function c($_c){ return b($_c); } print_r(c(array('param'=>'test'))); ?>
위의 코드는 아래의 결과를 출력한다.
설정 값들은 아래와 같은 의미를 갖는다. 자세한 내용은 다음 링크를 참조한다.
http://xdebug.org/docs/all_settings
- xdebug.collect_params : 함수로 전달된 인자를 얼마나 디테일하게 표현할 것인지를 지정한다. 1부터 4까지 값을 지정할 수 있고 값이 높을수록 더 자세한 정보를 제공한다.
- xdebug.dump.GET : GET 방식으로 전달된 값을 출력한다.
- xdebug.show_local_vars : 지역변수의 리스트를 출력한다.