문제
사용 했습니다 xdebug 디버깅하고 이해하는 코드가 php 프로젝트는 지금,그리고 때때로 오는 상황으로 그것이 불분명한 내부에서 무슨 일이 일어나고 있는지 PHP.
은 그것을 가능하게 설정 xdebug 또는 gdb 그래서 내가 추적할 수 있습으로 실제 php 기본 제공 기능은 무엇입니까?
해결책
를 사용하는 경우 macosx,solaris 또는 최근 freebsd 시스템을 던질 수 있는 작은 대부분입니다.그것은 도움이 될 수 있는 사람들을 위해 편리한 모든 너무 많은"WTF PHP 하고 있는가?"순간입니다.
다른 팁
Xdebug는 내부가 아닌 PHP 코드를 추적하기위한 것입니다. 내부는 버그가없는 것으로 가정됩니다 (분명히 그들은 때때로 그렇지는 않지만 xdebug의 범위를 벗어납니다).
내장 기능이 무엇을하는지 알고 싶다면 언제든지 PHP 소스를 볼 수 있지만 때로는 털이 많습니다. PHP 매뉴얼 문서는 그들이 무엇을할지 알고 싶을 때 항상 저를 충분히 제공했습니다.
Debug 기호로 컴파일 된 경우 GDB를 사용하여 C 레벨 코드로 추적 할 수 있습니다. 여기를 살펴보십시오.
Zend 엔진의 출력을 테스트하고 Opcodes 내부를 엿볼 수있는 한 가지 방법은 사용할 수 있습니다. 데릭 레탄의 VLD (Vulcan Logic dissasembler), 또한 켜져있는 것 같습니다 PECL. 메모: *닉스 시스템에서만 작동합니다 (요구 사항은 사이트 참조).
이 Opcodes를 디버깅하는 몇 가지 예를 찾을 수 있습니다. 사라 골몬의 블로그, 다음과 같은 기사에서 opcode 이해 그리고 끈 조각은 얼마나 걸립니까?.