재인쇄: http://blog.csdn.net/a600423444/article/details/12720543
서문
개발의 필수적인 부분은 디버깅이며, 디버깅 방법은 개발 효율성과 소프트웨어 품질에 직접적인 영향을 미칩니다.
저는 PHP 확장 프로그램을 개발할 때 디버깅을 한 번도 해본 적이 없습니다. 디버깅할 때마다 PHP 스크립트를 다시 컴파일하고 실행한 후 실행하여 디버깅하기 전에 실행 상태를 확인합니다. 너무 고통스럽고 효율성에 너무 많은 영향을 미칩니다. PHP 확장 프로그램을 디버깅하는 방법에 대해서도 Baidu와 Google에서 검색했지만 답변은 거의 모두 GDB였습니다. 안타깝게도 실제로 어떻게 작동하는지 모르겠습니다.
저는 VS를 많이 사용하지 않고 그 기능이 무엇인지 잘 모르겠습니다. 며칠 전 동료가 갑자기 PHP 확장 프로그램을 디버깅하는 데 VS의 "Attach to Process"를 사용할 수 있다고 말했습니다. 구원받은 것 같은 느낌이 들었어요. 물론, C 디버깅에 익숙하지 않기 때문이기도 합니다.
주제 입력:
1. Windows용 PHP 확장 개발 환경 구축
내 다른 기사를 확인하세요: http://blog.csdn.net/a600423444/ article/details/81089932. 디버깅 환경 구성
선택시 다운로드한 PHP 바이너리 버전과 동일해야 한다는 점 주의하시기 바랍니다. 예를 들어 처음에 PHP 개발 환경을 설정할 때. 단계에서 VC9 x86 Non Thread Safe를 선택했다면 DEBUG PACK은 동일한 버전의 DEBUG PACK을 다운로드해야 합니다.
디버그 팩 압축 패키지에는 모든 PHP 디버깅 관련 기호 파일(* . pdb), 이를 도입하는 것이 디버깅의 핵심입니다.
참고: 디버깅 모드에서만 모든 기호 로드 버튼을 클릭할 수 있습니다.
도구->옵션->디버깅->기호- > 기호 위치에 압축 해제 경로 추가
프로젝트->속성->링커->디버깅->디버깅 정보 생성->"예"로 설정
릴리즈 버전 DLL을 컴파일하고 생성할 때 vc110.pdb가 생성되어 이전에 압축을 푼 PDB 경로에 저장됩니다. 명명 형식을 통일하기 위해 확장자와 동일한 이름으로 바꿀 수 있습니다. 여기서 변경한 것은 "php_test.pdb"입니다.
이제 구성이 완료되었으니 디버깅 사용법을 살펴보겠습니다.
3. 프로세스에 연결
[php] 보기
일반 사본
이것 위치, 영주권은 필요하지 않습니다. 테스트를 위한 지역 편의를 위해서입니다.
Debug -> Attach to process : 위 1에서 PHP를 실행하여 생성된 프로세스를 선택합니다.
이제 디버깅 정보를 보려면 프로그램이 중단점 위치까지 실행될 때까지 기다리세요.
끝.
위 내용은 내용의 측면을 포함하여 VS2013의 PHP 확장 개발 및 디버깅을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.