Byłem w stanie dość łatwo zainstalować i skonfigurować NetBeans 6.9.1 i Xdebug w moim lokalnym środowisku opartym na PHP 5.3.0 (XAMPP).
Mój problem jest teraz następujący: jeśli ustawię punkt przerwania w pliku index.php Wordpress lub innych podstawowych plikach PHP Wordpress, NetBeans poprawnie zatrzyma się w pożądanej pozycji. Jeśli zamiast tego ustawię punkt przerwania na pliku wtyczki, wyzwalanie wykonania kodu NetBeans nie kończy się na tym.
Czy wiesz, jak rozwiązać problem?
AKTUALIZACJA: Więcej informacji o tym, co próbuję debugować
Wtyczka nazywa się Vanilla Forums i ma następującą strukturę plików:
- plugins
- vanilla-forums
+ assets
+ nbproject
+ templates
admin.php
embed.php
functions.php
hooks.php
plugin.php
sso.php
widgets.php
Ustawiłem punkt przerwania wewnątrz funkcji o nazwie vf_validate_options
zdefiniowanej w functions.php
. Jestem pewien, że ta funkcja jest wykonywana, ale NetBeans się tam nie psuje.
źródło
throw new Exception('die');
oświadczenie po wierszu punktu przerwania, czy to przestanie (w tym sensie, że to zabije / zakończy twoje żądanie)?XDEBUG_SESSION_START
parametr zapytania do wszystkich żądań.Odpowiedzi:
Postępowałeś zgodnie z tymi instrukcjami, prawda?
http://codex.wordpress.org/Testing_WordPress_Performance
źródło
Istnieje proste rozwiązanie z rozszerzeniem Firebox Xdebug Helper autorstwa Briana Gilberta . To ustawia pliki cookie na
xdebug
sesję, co pozwala na korzystaniexdebug
z wtyczek WordPress.Istnieją również rozszerzenia dla Chrome, Safari i Opera. Linki można znaleźć na stronie internetowej xdebug
źródło
Cześć @Drake:
Głupie pytanie, wiem, ale czy „aktywowałeś” wtyczkę? Właśnie tam się potykam, gdy wtyczki nie są debugowane.
źródło
nie ma sposobu na debugowanie plików wtyczki. Jedynym sposobem, w jaki znalazłem dla wordpress debugowania jest użycie nusphere phped, który niestety nie jest darmowy. Wydaje się, że jedyny może to zrobić, nie wiem dlaczego, ale spędzam bardzo dużo czasu zastanawiając się, jak debugować za pomocą netbeans i zaćmienia ... bez rezultatów!
źródło
Cóż, skoro sam WordPress zapewnia
WP_DEBUG
iwp_die($msg)
... dlaczego trzeba debugować za pomocą Xdebug? Chyba że budujesz wtyczkę za pomocą frameworka?źródło