실전코딩

PHP 에서의 디버그

· 2008-07-06 (일) 15:19:02 · 2998
원본: 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에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
12-08-29 조회 3,897
12-08-07 조회 3,566
12-08-03 조회 3,496
12-07-31 조회 3,611
12-07-30 조회 3,572
12-07-16 조회 3,774
12-07-15 조회 3,469
12-07-07 조회 3,471
12-07-06 조회 3,567
12-07-03 조회 3,628
12-06-29 조회 3,213
12-06-22 조회 3,580
12-06-17 조회 3,688
12-05-21 조회 3,766
12-05-02 조회 3,353
12-05-02 조회 4,141
12-05-02 조회 3,258
12-04-30 조회 3,398
12-04-30 조회 3,111
12-03-17 조회 3,923
12-03-10 조회 3,333
12-03-08 조회 3,747
12-03-03 조회 3,510
12-02-27 조회 4,920
12-02-17 조회 4,271
12-02-16 조회 4,414
12-02-03 조회 3,258
12-01-31 조회 3,000
12-01-24 조회 3,073
12-01-17 조회 3,825
12-01-05 조회 3,383
11-12-30 조회 2,997
11-12-23 조회 4,597
11-12-08 조회 3,356
11-12-07 조회 4,337
11-11-27 조회 3,765
11-11-25 조회 4,084
11-11-23 조회 3,475
11-11-22 조회 3,415
11-11-09 조회 3,172
11-10-23 조회 3,071
11-10-19 조회 3,049
11-10-08 조회 2,756
11-10-04 조회 2,773
11-10-04 조회 5,213
11-09-01 조회 4,273
11-08-13 조회 2,446
11-08-06 조회 3,137
11-07-11 조회 3,533
11-06-27 조회 2,902
11-06-21 조회 2,528
11-06-13 조회 2,352
11-06-07 조회 2,351
11-05-26 조회 2,349
11-04-20 조회 2,674
11-03-21 조회 2,766
11-03-18 조회 2,459
11-03-11 조회 2,496
11-02-07 조회 2,313
11-01-18 조회 2,638
11-01-12 조회 2,360
11-01-06 조회 2,477
10-12-10 조회 2,738
10-12-09 조회 2,394
10-12-08 조회 4,989
10-11-29 조회 2,490
10-11-28 조회 2,724
10-11-28 조회 2,568
10-11-19 조회 2,756
10-11-04 조회 2,675
10-10-21 조회 2,382
10-10-19 조회 3,334
10-10-12 조회 2,657
10-10-07 조회 2,460
10-09-30 조회 3,443
10-09-17 조회 3,840
10-09-17 조회 3,801
10-05-31 조회 3,469
09-12-31 조회 3,607
09-07-23 조회 4,911
08-09-16 조회 3,168
08-09-06 조회 2,887
08-09-04 조회 3,320
08-08-16 조회 4,371
08-08-15 조회 3,248
08-08-14 조회 4,457
08-08-12 조회 3,815
08-07-23 조회 2,743
08-07-10 조회 3,679
08-07-04 조회 2,910
08-06-27 조회 7,564
08-06-19 조회 4,852
08-05-27 조회 5,466
08-05-25 조회 5,292
08-05-23 조회 3,362
08-05-23 조회 4,500
08-05-21 조회 4,882
08-05-20 조회 4,010
08-05-20 조회 3,247
08-04-18 조회 4,277