2013-08-03 5 views
2

magento를 사용하는 xdebug를 처음 사용했습니다. 첫 번째 줄에 중단 점을 배치하면 index.php에서 중단되어 계속됩니다. 그러나 로그인 기능이나 메뉴 네비게이션을 테스트하고 싶을 때, "class Mage_Page_Block_Html_Topmenu extends Mage_Core_Block_Template"에 브레이크 포인트를 배치하고 있습니다 만, 여기에서는 멈추지 않고 계속됩니다. 그래서 정확히 어디 브레이크 포인트를 유지해야합니까 ?? 포인트를 .phtml 파일에 넣어야합니까? 나는 어디에 있어야하는지 잘 모르겠습니다. 그래서 누구든지 magento로 디버깅을 할 수 있습니다.eclipse에서 Xdebug를 사용하여 magento 파일을 디버깅하는 방법

+0

어떤 파일을 중단 점에 두어도 아무런 차이가 없어야합니다. Xdebug는 PHP 코드가 실행되는 모든 파일에서 사용할 수 있습니다. 거기에 xdebug 구성에 문제가 있거나 breakpoint가있는 코드가 실행되지 않았다고 생각합니다. index.php에 트리거가 발생했는지 확인하십시오. –

+0

@ SimonH index.php에 중단 점을 배치하면 코드 실행이 그 시점에서 중단되고 F5 키만 누르면 계속됩니다. 그것은 index.php까지 작동하고 계속 mage.php. 디버깅을 중지 한 후 –

+0

xdebug와 같은 사운드가 올바르게 설정되었습니다. 비 eclipse 사용자의 경우 : F5를 누르면됩니다. 예외가 발생하지 않으면 더 많은 파일이 표시되어야합니다. debbuging이 끝난 후 브라우저에 표시되는 내용은 무엇입니까? –

답변

2

단지 xdebug를 사용하고 싶다면이 답변을 드려 죄송합니다!

제 생각에는 xdebug가 제대로 작동하지 않을 것이므로 저의 관점에서 볼 때 성공하지 못할 것입니다. 내가 사용하는 것이 좋습니다 것입니다

Mage::log($var) 또는

Mage::logException($var) 단지

tail -f on var/log/system.log 또는 tail -f on var/log/exception.log을한다.

Varien_Object 클래스의 경우 로그 출력을 줄이기 위해 Mage::log($product->debug())과 같은 것을 사용할 수 있습니다. 이 코드를 디버깅 할 위치를 알고있는 것이 가장 좋습니다.

Magento에서 디버그 출력이 활성화되어 있는지 확인하십시오.

+0

eclipse로 magento 응용 프로그램을 디버깅 할 수 있습니까? –

+0

물론 가능합니다. Magento Exception 핸들러에 의해 예외가 발생하는 경우를 대비하여. 그러나 프레임 워크 흐름을 밟지 않고 특정 클래스 또는 파일에서 디버깅을 수행하면 거의 이해가되지 않습니다. 따라서 Mage :: log는 충분하고 훨씬 빠릅니다. –

+0

예, xdebug를 사용하면 응용 프로그램의 속도가 느려집니다. 그러나 php.ini에서'xdebug.profiler_enable_trigger = 1'을 사용하여 필요할 때만 활성화되도록 설정할 수 있습니다. 내가 사용할 수 있는지 말할 수 없어 일식을 사용하지 않는거야. –