2009-11-18 8 views
2

J'essaie d'obtenir le débogage interactif en travaillant avec une application Zend Framework et Xdebug, en utilisant MacGDPp comme débogueur client. Je cours à certains problèmes de réglage des points d'arrêt et a été l'espoirDébogage interactif et points d'arrêt avec Xdebug et le Zend Framework

  1. Quelqu'un pourrait résoudre mon problème spécifique

  2. Quelqu'un pourrait me donner un aperçu de haut niveau de la façon dont cela est censé fonctionner, je peux retrouver le problème moi-même

MacGDPp a une option pour démarrer le débogueur immédiatement chaque fois qu'une demande est faite. Cela marche. Je charge une page de l'application Zend et l'exécution s'arrête à la première ligne du fichier index.php de Zend.

Toutefois, si j'essaie de définir un point d'arrêt dans MacGDPp, soit un fichier de modèle Controller ou phtml, l'exécution ne s'arrête PAS à ces points d'arrêt.

En dehors de Zend, si je configure une simple page avec un seul require, je peux par exemple placer des points de rupture dans le fichier requis.

File: test.php 
<?php 
    echo "One <br>"; 
    echo "Two <br>"; 
    echo "Three <br>"; 
    echo "Four <br>"; 
    echo "Five <br>"; 
    echo "Six <br>"; 
    echo "Seven <br>"; 
    echo "Eight <br>"; 
    echo "Nine <br>"; 
    echo "Ten <br>"; 

    require_once('test2.php'); 

File: test2.php 
<?php  
    echo "Eight <br>"; 
    echo "Five <br>"; 
    echo "Four <br>"; 
    echo "Nine <br>"; 
    echo "One <br>"; 
    echo "Seven <br>"; 
    echo "Six <br>"; 
    echo "Ten <br>"; 
    echo "Three <br>"; 
    echo "Two <br>";  

Donc, je ne sais pas comment procéder. Je ne sais pas si mon client est en train de définir des points de rupture, ou s'il y a quelque chose à propos des modèles d'auto-chargement/instanciation de Zend qui empêche un débogueur interactif de savoir comment raccorder un fichier que je sélectionne du système de fichiers avec un "remote" (localhost) URL que j'ai exécutée.

Si quelqu'un a une solution et/ou des pointeurs sur le fonctionnement des débogueurs PHP à distance, j'apprécierais.

Répondre

1

Il s'avère que je définissais des points de rupture sur des lignes vides et que MacGDPp les ignorait.

+0

+1 pour "nous avons tous été là" :) –

4

Sacré merde - Je tirais mes cheveux - XAMPP 1.7.1 (php 5.2.9) avec notepad ++ et Xdebug ne s'arrêtait pas aux points d'arrêt (seulement aux lignes xdebug_break()). C'est parce que le débogueur stupide ne se cassera pas si vous placez votre point d'arrêt sur une ligne vide! Man, je souhaite qu'il a dit que quelque part dans le manuel. Ah oui j'avais oublié; il n'y a pas de manuel ...