똥싼너구리

PHP 에서의 디버그

· 17년 전 · 1824
원본: http://bequietzero.com/bbs/board.php?bo_table=PHP&wr_id=22
(작성자의 홈페이지 이며, 업데이트는 작성자의 홈페이지에서 이루어 집니다.)

 웹언어를 디버그 하는것은 상당히 까다롭다. 내 컴퓨터에서 실행되기 어렵고, 서버라는 환경하에서 실행이 되기 때문이다. 여기서 디버그 할때에 좀더 편리하게 사용가능 한 방법을 소개 하도록 한다.

DEBUG 함수 제작

 사이트 어디서든 접근 가능한 DEBUG 함수를 제작한다.
  1. function DEBUG($file$line$array) {  
  2.     $debug = "\n<!--\n";  
  3.     $debug .= "파일위치:$file\n";  
  4.     $debug .= "현재라인:$line\n";  
  5.     $debug .= print_r($array, true);  
  6.     $debug .= "-->\n";  
  7.     echo $debug;  
  8. }  
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 함수 사용

  1. DEBUG(__FILE__,__LINE__,$list);  
DEBUG(__FILE__,__LINE__,$list);
 디버그 하기위해 변수를 출력 해야 할 곳에서 위와 같이 사용한다. __FILE__ 과 __LINE__ 을 이용해 출력한 곳의 정보를 출력한다.


출력 결과

  1. <!--  
  2. 파일위치:/home/hosting_users/bequietzero/www/class/TodoList.class.php  
  3. 현재라인:73  
  4. Array  
  5. (  
  6.     [0] => Array  
  7.         (  
  8.             [wr_id] => 41  
  9.             [wr_num] => -10  
  10.             [wr_reply] =>   
  11.             [wr_parent] => 41  
  12.             [wr_is_comment] => 0  
  13.             [wr_comment] => 0  
  14.             [wr_comment_reply] =>   
  15.             [ca_name] =>   
  16.             [wr_option] =>   
  17.             [wr_subject] => 구글 소스코드에 등록하기  
  18.             [wr_content] => 상세 내용을 입력하세요.  
  19.             [wr_link1] =>   
  20.             [wr_link2] =>   
  21.             [wr_link1_hit] => 0  
  22.             [wr_link2_hit] => 0  
  23.             [wr_trackback] =>   
  24.             [wr_hit] => 1  
  25.             [wr_good] => 0  
  26.             [wr_nogood] => 0  
  27.             [mb_id] => admin  
  28.             [wr_password] => ************  
  29.             [wr_name] => 너굴군  
  30.             [wr_email] => ************  
  31.             [wr_homepage] =>   
  32.             [wr_file] => 0  
  33.             [wr_datetime] => 2008-07-06 11:15:57  
  34.             [wr_last] => 2008-07-06 11:15:57  
  35.             [wr_ip] => ************  
  36.             [wr_1] =>   
  37.             [wr_2] =>   
  38.             [wr_3] =>   
  39.             [wr_4] =>   
  40.             [wr_5] =>   
  41.             [wr_6] =>   
  42.             [wr_7] =>   
  43.             [wr_8] =>   
  44.             [wr_9] =>   
  45.             [wr_10] =>   
  46.         )  
  47.   
  48.     [1] => Array  
  49.         (  
  50.             [wr_id] => 40  
  51.             [wr_num] => -9  
  52.             [wr_reply] =>   
  53.             [wr_parent] => 40  
  54.             [wr_is_comment] => 0  
  55.             [wr_comment] => 0  
<!-- 파일위치:/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에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
17년 전 조회 1,299
17년 전 조회 3,177
17년 전 조회 2,159
17년 전 조회 2,600
17년 전 조회 1,403
17년 전 조회 1,753
17년 전 조회 1,149
17년 전 조회 1,204
17년 전 조회 1,777
17년 전 조회 1,223
17년 전 조회 4,304
17년 전 조회 1,499
17년 전 조회 2,001
17년 전 조회 7,089
17년 전 조회 1,377
17년 전 조회 1,895
17년 전 조회 3,125
17년 전 조회 1,223
17년 전 조회 1,981
17년 전 조회 1,153
17년 전 조회 1,851
17년 전 조회 2,149
17년 전 조회 2,961
17년 전 조회 1,239
17년 전 조회 1,329
17년 전 조회 1,555
17년 전 조회 1,222
17년 전 조회 4,354
17년 전 조회 3,897
17년 전 조회 2,785
17년 전 조회 1,588
17년 전 조회 1,334
17년 전 조회 1,601
17년 전 조회 2,517
17년 전 조회 1,732
17년 전 조회 2,017
17년 전 조회 1,305
17년 전 조회 1,036
17년 전 조회 1,119
17년 전 조회 2,922
17년 전 조회 2,459
17년 전 조회 2,041
17년 전 조회 2,041
17년 전 조회 1,794
17년 전 조회 2,240
17년 전 조회 2,011
17년 전 조회 1,985
17년 전 조회 1,873
17년 전 조회 1,208
17년 전 조회 1,825
17년 전 조회 2,228
17년 전 조회 2,300
17년 전 조회 1,638
17년 전 조회 1,507
17년 전 조회 1,356
17년 전 조회 2,575
17년 전 조회 2,671
17년 전 조회 2,067
17년 전 조회 2,413
17년 전 조회 2,720
17년 전 조회 1,322
17년 전 조회 1,186
17년 전 조회 6,322
17년 전 조회 1,173
17년 전 조회 1,624
17년 전 조회 1,772
17년 전 조회 1,097
17년 전 조회 1,190
17년 전 조회 1,890
17년 전 조회 1,520
17년 전 조회 3,618
17년 전 조회 1,203
17년 전 조회 1,908
17년 전 조회 1,166
17년 전 조회 1,381
17년 전 조회 2,359
17년 전 조회 2,012
17년 전 조회 1,035
17년 전 조회 1,038
17년 전 조회 1,090
17년 전 조회 6,044
17년 전 조회 5,849
17년 전 조회 2,025
17년 전 조회 1,020
17년 전 조회 1,116
17년 전 조회 2,079
17년 전 조회 1,511
17년 전 조회 1,157
17년 전 조회 1,184
17년 전 조회 1,127
17년 전 조회 1,042
17년 전 조회 3,955
17년 전 조회 2,164
17년 전 조회 1,618
17년 전 조회 2,761
17년 전 조회 1,467
17년 전 조회 1,150
17년 전 조회 1,173
17년 전 조회 1,241
17년 전 조회 1,127
🐛 버그신고