2010-10-07 8 views
1

Je travaille sur du code PHP avec NetBeans et Xdebug. J'utilise Xdebug pour le débogage étape par étape et autres.Déboguer PHP - sélectionner une requête pour une session Xdebug

Je suis capable de déboguer le flux de la demande par défaut, mais pas les flux générés par des requêtes spécifiques _get/_post ou Ajax.

Quelqu'un a une idée de comment cela peut-il être fait?

Quand je lance le débogueur, un onglet dans mon navigateur ouvert automatiquement avec l'URL suivante: http://localhost/?XDEBUG_SESSION_START=netbeans-xdebug

Merci. Gidi

+0

Avez-vous essayé de modifier l'URL de requête ajax avoir le paramètre 'XDEBUG_SESSION_START'? – mhitza

Répondre

1

Ok,

il va ainsi:

Dans l'onglet Projets (en haut à gauche de l'écran dans ma configuration), faites un clic droit sur le nom du projet, puis propriétés => exécuter la configuration

Il vous devez remplir 3 formulaires: 1. projet url - l'URL de base du projet sur le Web, généralement http://localhost 2. fichier d'index - utilisez le bouton de navigation et aller à la copie locale de l'indice. php ou n'importe quel fichier sert ce rôle pour vous. Ce formulaire doit contenir le chemin d'accès à ce fichier dans le système de fichiers local, pas sur le Web. 3. arguments - tous les arguments que vous souhaitez accéder à votre script via l'URL

Cela devrait vous permettre de choisir une URL personnalisée pour le débogage

Un problème possible: dans ce processus, vous risquez de perdre la synchronisation entre les adresses Web et les fichiers correspondants de votre système. Google "path mapping dans php debugger" si vous rencontrez des problèmes de cette nature, et prenez le premier résultat (que le système ne me permettrait pas de lier directement). Cependant, cela n'a pas fonctionné pour moi. Je configuration du serveur pour résoudre ce problème en redirigeant les URL

Gidi

P.S. Tout ce qui précède n'explique pas comment passer les variables POST à ​​votre script pendant le débogage (et je ne sais pas comment le faire)

+0

Cela ne résout pas la question, ne devrait pas être marqué comme accepté – spacebiker

-1

Peut-être que vous essayez de démarrer une session de débogage comme décrit ci-dessus. En tant que cible de débogage, vous choisissez la page la plus proche de votre requête POST dans le workflow. Ensuite, vous interagissez avec le service Web, en ayant toujours le débogueur dans Netbeans en cours d'exécution. Avec l'interaction que la session de débogage conserve, vous pouvez remplir des formulaires, etc. et envoyer la requête POST. Ensuite, passez à netbeans et déboguez comme d'habitude. Peut-être que vous devez activer 'Break à la première ligne' dans les options de débogage, ou configurer un point d'arrêt dans le code php, où la demande est distribuée, afin d'assurer l'arrêt du débogueur lors de l'envoi de la requête POST. Ensuite, vous devrez éventuellement pousser le débogueur à chaque chargement de page.

Hope it helps

+0

Oups, viens de réaliser que je suis un cadavre dessécteur. sry – guest