문제

그래서 저는 최근에 임시 디버깅에서 다음 단계를 밟았습니다. dump, print_r 그리고 echo 좀 더 정교한 방법을 사용하는데 어려움을 겪고 있습니다.

저는 Zend Framework, Aptana 및 Zend Debugger를 사용하여 작업합니다.

지금은 사용자 정의 컨트롤러를 디버깅하려고 하는데 무엇을 하든 중단점에 도달하지 못합니다. 중단점은 그 사이에 인증이 있고 메뉴를 사용하기 때문입니다.

질문:

  1. 인증 시점에서 애플리케이션이 중단되도록 하려면 어떻게 해야 합니까? 브라우저에 로그인하고 특정 URI로 이동한 다음 디버깅을 계속할 수 있습니까?
  2. MVC를 사용하는 Zend Framework에서 중단점을 설정하기에 좋은 위치는 어디입니까?
도움이 되었습니까?

해결책

요청 도중에 현재 사용자의 인증 세부정보를 변경하고 싶으십니까?

나는 이것이 가능하다고 생각하지 않습니다.Zend Debugger는 거의 읽기 전용 도구입니다.그렇더라도 사용 중인 프레임워크가 무엇이든 이를 처리할 수 있다고 가정합니다.이는 입력 데이터 변경과 함께 내부 상태를 지속적으로 동기화해야 함을 의미합니다.

이 특정 문제를 해결하는 방법을 묻는 대신 인증을 변경해야 하는 이유를 알려주어야 한다고 생각합니다.디버거에서 스크립트를 실행하는 것 같은데 사용자 세션이 없기 때문에 실패합니다.

Zend Debugger에는 브라우저 도구 모음(http://files.zend.com/help/Zend-Studio-Eclipse-Help/zend_debugger_toolbar.htm) 현재 페이지에 대한 디버거를 시작할 수 있습니다.디버거에는 브라우저가 보낸 모든 정보가 있습니다.쿠키, 게시물 데이터 등POST 양식을 디버그하는 데 도움이 되는 "다음 페이지 디버그" 설정도 있습니다.이것이 당신이 원하는 것 같습니다.

다른 팁

다음과 같은 상수를 설정하는 것이 더 쉽지 않습니까?

define('MODE_DEBUG', 1);

그런 다음 인증 프로세스를 확인하십시오.

if($obj->myLoginMethod() || constant('MODE_DEBUG') == 1){

}

아무도 그 상수와 최악의 일이 내 실수로 디버그 모드를 떠나게된다는 것입니다 ...

정의 전에 확인할 수 있습니다.

define('MODE_DEBUG', (false !== strpos($_SERVER['HTTP_HOST'], 'dev.mysite.com') ? 1 : 0));

어쩌면 덤프 솔루션을 다시 생각하면됩니다 (브레이크 포인트를 사용한다는 아이디어가 마음에 들지만 경험이 풍부한 딸꾹질과 Zend Studio를 사용합니다). 응용 프로그램을 디버그하기 위해 Zend_log와 파이어 버그 작가 zend_log의 경우. Firebug가 로그를 출력합니다 개똥 벌레 (NB 당신은 있어야합니다 Firephp Firefox의 확장도 설치). 로거를 레지스트리에 보관하면 못생긴 덤프로보기를 엉망으로 만들지 않고 많은 디버깅을 수행 할 수 있습니다.

좋아, 그래서 나는 Zend Debugger와 함께 좀 더 연주했습니다. (당신의 질문은 오래된 악마를 자극했습니다) 그리고 나는 마침내 "적절한"방법을 디버그하는 방법을 알아 냈습니다. 로그인 후 디버그에 대한 초기 질문에 답하기 위해 Firefox 또는 IE 용 Zend 도구 모음을 설치한다고 말합니다. 디버그 메뉴 항목의 오른쪽에는 몇 가지 옵션이있는 드롭 다운이 있습니다. 옵션 중 하나는 "다음 페이지"입니다. 따라서 로그인 화면으로 이동하여 "다음 페이지"를 선택한 다음 자격 증명을 넣고 제출하면 다음 페이지가 디버깅 된 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top