it-swarm-ko.tech

모든 함수 호출을 인쇄해야합니다 Drupal make

모든 함수 호출을 검사해야합니다 Drupal 페이지를로드하는 동안 오류가없는 경우에도). 디버깅 소프트웨어 가이 작업을 수행 할 수 있다고 생각하지만 방법을 알고 싶습니다. xdebug 등 없이이 작업을 수행하십시오.

이 링크를 찾았습니다 : https://drupal.stackexchange.com/questions/545/how-to-debug-drupal 그러나이 코드를 어디에 넣을 지 잘 모르겠습니다.

<?php
$bt = debug_backtrace();
foreach ($bt as $key => $value) {
  if ($key == 0) {
    continue;
  }
  unset($bt[$key]['args']);
  unset($bt[$key]['object']);
}
drupal_set_message(str_replace('    ', '&nbsp;&nbsp;&nbsp;&nbsp;', nl2br(htmlentities(print_r($bt, TRUE)))));
?>
3
jjei

다른 방법과 달리 Xdebug 을 사용하는 것이 좋습니다.

Xdebug를 쉽게 설치할 수 있으며 프로파일 링을 활성화하고 사이트를 탐색하기 만하면됩니다.

모든 함수 호출을 나열 할뿐만 아니라 요청 중에 각각 호출 된 횟수와 함수 호출 횟수를 계산하므로 정확히 병목 현상을 해결하기 위해.

Webgrind (브라우저 기반) 또는 KCacheGrind (KDE/linux)를 사용하여 결과를 볼 수 있습니다.

코드를 변경하지 않고 디버그 문으로 처리하지 않기 때문에보다 효율적입니다.

4
Alex Weber

모든 함수 호출을 인쇄해야하는 경우 (예 : 쉼표로 구분 된 이름 만) 다음을 시도하십시오.

print implode(', ', array_column(debug_backtrace(), 'function'));

참고 : array_column() 은 PHP> = 5.5.0의 일부입니다.

0
kenorb