PHP 에서의 디버그 정보
기타 PHP 에서의 디버그
본문
원본: http://bequietzero.com/bbs/board.php?bo_table=PHP&wr_id=22
(작성자의 홈페이지 이며, 업데이트는 작성자의 홈페이지에서 이루어 집니다.)
웹언어를 디버그 하는것은 상당히 까다롭다. 내 컴퓨터에서 실행되기 어렵고, 서버라는 환경하에서 실행이 되기 때문이다. 여기서 디버그 할때에 좀더 편리하게 사용가능 한 방법을 소개 하도록 한다.
function DEBUG($file, $line, $array) {
$debug = "\n<!--\n";
$debug .= "파일위치:$file\n";
$debug .= "현재라인:$line\n";
$debug .= print_r($array, true);
$debug .= "-->\n";
echo $debug;
}
이 함수는 실행중인 파일정보와 라인정보를 입력받고 디버그 할 변수를 입력 받는다. 입력 받아서 HTML주석으로 디버그 정보를 출력 해준다. 여기서 사용한 print_r
함수는 배열이나 일반 변수를 입력 받아 내용을 모두 출력 해주는 함수다.
그누보드 에서는 이 함수를 /extend 폴더에 넣었다.
DEBUG(__FILE__,__LINE__,$list);
디버그 하기위해 변수를 출력 해야 할 곳에서 위와 같이 사용한다. __FILE__ 과 __LINE__ 을 이용해 출력한 곳의 정보를 출력한다.
<!--
파일위치:/home/hosting_users/bequietzero/www/class/TodoList.class.php
현재라인:73
Array
(
[0] => Array
(
[wr_id] => 41
[wr_num] => -10
[wr_reply] =>
[wr_parent] => 41
[wr_is_comment] => 0
[wr_comment] => 0
[wr_comment_reply] =>
[ca_name] =>
[wr_option] =>
[wr_subject] => 구글 소스코드에 등록하기
[wr_content] => 상세 내용을 입력하세요.
[wr_link1] =>
[wr_link2] =>
[wr_link1_hit] => 0
[wr_link2_hit] => 0
[wr_trackback] =>
[wr_hit] => 1
[wr_good] => 0
[wr_nogood] => 0
[mb_id] => admin
[wr_password] => ************
[wr_name] => 너굴군
[wr_email] => ************
[wr_homepage] =>
[wr_file] => 0
[wr_datetime] => 2008-07-06 11:15:57
[wr_last] => 2008-07-06 11:15:57
[wr_ip] => ************
[wr_1] =>
[wr_2] =>
[wr_3] =>
[wr_4] =>
[wr_5] =>
[wr_6] =>
[wr_7] =>
[wr_8] =>
[wr_9] =>
[wr_10] =>
)
[1] => Array
(
[wr_id] => 40
[wr_num] => -9
[wr_reply] =>
[wr_parent] => 40
[wr_is_comment] => 0
[wr_comment] => 0
위는 출력결과의 일부이다. 개발할때 위와 같이 변수의 정보를 출력해보고, 개발이 완료되면 위 출력 결과의 정보를 활용해 DEBUG함수를 호출하는 부분을 찾아 지워주거나 DEBUG함수 내부를 주석처리하면 일괄적으로 출력되지 않는다.
디버그 할수 있는 다른 여러가지 방법도 많지만 이 방법은 간단하면서 효과적인 방법이다. 디버그에 대한 좀더 나은 방법이 있을 경우 다시 소개 하겠다.
(작성자의 홈페이지 이며, 업데이트는 작성자의 홈페이지에서 이루어 집니다.)
웹언어를 디버그 하는것은 상당히 까다롭다. 내 컴퓨터에서 실행되기 어렵고, 서버라는 환경하에서 실행이 되기 때문이다. 여기서 디버그 할때에 좀더 편리하게 사용가능 한 방법을 소개 하도록 한다.
DEBUG 함수 제작
사이트 어디서든 접근 가능한 DEBUG 함수를 제작한다.- function DEBUG($file, $line, $array) {
- $debug = "\n<!--\n";
- $debug .= "파일위치:$file\n";
- $debug .= "현재라인:$line\n";
- $debug .= print_r($array, true);
- $debug .= "-->\n";
- echo $debug;
- }
이 함수는 실행중인 파일정보와 라인정보를 입력받고 디버그 할 변수를 입력 받는다. 입력 받아서 HTML주석으로 디버그 정보를 출력 해준다. 여기서 사용한 print_r
그누보드 에서는 이 함수를 /extend 폴더에 넣었다.
DEBUG 함수 사용
- DEBUG(__FILE__,__LINE__,$list);
디버그 하기위해 변수를 출력 해야 할 곳에서 위와 같이 사용한다. __FILE__ 과 __LINE__ 을 이용해 출력한 곳의 정보를 출력한다.
출력 결과
- <!--
- 파일위치:/home/hosting_users/bequietzero/www/class/TodoList.class.php
- 현재라인:73
- Array
- (
- [0] => Array
- (
- [wr_id] => 41
- [wr_num] => -10
- [wr_reply] =>
- [wr_parent] => 41
- [wr_is_comment] => 0
- [wr_comment] => 0
- [wr_comment_reply] =>
- [ca_name] =>
- [wr_option] =>
- [wr_subject] => 구글 소스코드에 등록하기
- [wr_content] => 상세 내용을 입력하세요.
- [wr_link1] =>
- [wr_link2] =>
- [wr_link1_hit] => 0
- [wr_link2_hit] => 0
- [wr_trackback] =>
- [wr_hit] => 1
- [wr_good] => 0
- [wr_nogood] => 0
- [mb_id] => admin
- [wr_password] => ************
- [wr_name] => 너굴군
- [wr_email] => ************
- [wr_homepage] =>
- [wr_file] => 0
- [wr_datetime] => 2008-07-06 11:15:57
- [wr_last] => 2008-07-06 11:15:57
- [wr_ip] => ************
- [wr_1] =>
- [wr_2] =>
- [wr_3] =>
- [wr_4] =>
- [wr_5] =>
- [wr_6] =>
- [wr_7] =>
- [wr_8] =>
- [wr_9] =>
- [wr_10] =>
- )
- [1] => Array
- (
- [wr_id] => 40
- [wr_num] => -9
- [wr_reply] =>
- [wr_parent] => 40
- [wr_is_comment] => 0
- [wr_comment] => 0
위는 출력결과의 일부이다. 개발할때 위와 같이 변수의 정보를 출력해보고, 개발이 완료되면 위 출력 결과의 정보를 활용해 DEBUG함수를 호출하는 부분을 찾아 지워주거나 DEBUG함수 내부를 주석처리하면 일괄적으로 출력되지 않는다.
디버그 할수 있는 다른 여러가지 방법도 많지만 이 방법은 간단하면서 효과적인 방법이다. 디버그에 대한 좀더 나은 방법이 있을 경우 다시 소개 하겠다.
[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
추천
0
0
댓글 0개