XDebug PHP Eclipse - Fehler Keine passende Datei gefunden oder keine Datei ausgewählt

8

Ich versuche, eine PHP-Web-App aus der Ferne zu debuggen, aber jedes Mal, wenn ich versuche, eine Debug-Sitzung zu starten, überflutet mich Eclipse mit einer Reihe von Popups:

Debugger Error: "Keine geeignete Datei gefunden oder keine Datei ausgewählt. Debug beendet" .

Dies ist meine aktuelle Xdebug 2.2.1-Konfiguration:

%Vor%

Dies ist meine Eclipse 4.2.1 Debug-Konfiguration:

Xdebug ist korrekt installiert, ich sehe es in phpinfo () Ausgabe aktiviert.

    
freedev 28.02.2013, 14:43
quelle

5 Antworten

7

Ich habe versucht, Eclipse zu debuggen, um zu verstehen, was in meinem Mac OS X passiert.
Suchen Sie zuerst den aktuellen laufenden Prozess von Eclipse:

%Vor%

Führen Sie anschließend Eclipse-Systemaufrufe durch:

%Vor%

Hier habe ich die erste von xdebug gesendete Zeile abgefangen.
Es ist die Zeile, in der Eclipse ein Stück XML liest. Ich nehme an, das ist der DBGp Teil.

%Vor%

Ich schaue auf fileuri Ich habe entdeckt, dass Xdebug versucht, die Debugsitzung mit /opt/local/var/db/php5/pear/pear-ini.php zu starten. Die Datei pear-ini.php existiert nicht in meinen Eclipse-Projekten.

Also erstelle ich ein neues Projekt in meinem Eclipse-Arbeitsbereich und hier habe ich die Datei /opt/local/var/db/php5/pear/pear-ini.php

kopiert

Es funktioniert, Eclipse PDT hat nun die gesuchte Datei gefunden und der Debugger startet endlich korrekt. Es fragt mich sogar, ob ich in die Debug-Perspektive wechseln möchte.

Fazit
Wenn Sie auf diesen seltsamen Fehler stoßen: " Keine passende Datei gefunden oder keine Datei ausgewählt. " Nun, es bedeutet genau, was geschrieben wurde. Okay, meine Eclipse konnte die Datei nicht finden, aber sie hat auch versucht, eine Datei zu finden, die sich nicht in ihrem Arbeitsbereich befindet. Kann eine Datei sein, die aus irgendeinem Grund aus der PHP-Engine geladen wird. In meinem Fall wird pear-ini.php automatisch von pear.ini

hinzugefügt %Vor%     
freedev 28.02.2013, 16:57
quelle
3

Ich hatte das gleiche Problem, und während Freedevs Antwort mich in die richtige Richtung wies, löste es es nicht wirklich.

Die Verwendung von Dtruss hat nicht geholfen: Ich habe das XML <init> -Element nirgendwo gesehen. Aber ich konnte es finden, nachdem ich xdebug.remote_log=/tmp/xdebug.log in php.ini eingestellt hatte, und dann die /tmp/xdebug.log -Datei getailt habe, als ich versuchte, eine Remote-Debugging-Sitzung zu starten. Die /opt/local/var/db/php5/pear/pear-ini.php wurde erneut erwähnt. Aber ich habe diese Datei in meinem Dateisystem, deshalb habe ich keine Ahnung, warum ich immer noch diese vage Fehlermeldung über eine fehlende Datei erhielt.

Nun, da ich jedoch wusste, dass Pear an dem Problem beteiligt war, habe ich versucht, Pear ( sudo port uninstall php53-pear ) einfach zu deinstallieren, da ich es eigentlich nicht mehr benutzte. Und siehe da, das hat es behoben! Ich bekomme nicht mehr die Fehlermeldung "Keine passende Datei", und ich kann wie üblich debuggen.

Bei der Deinstallation von php53-pear ist die fileuri -Einstellung in diesen XML-Daten jetzt die index.php -Datei für die Drupal-Site, die ich zu debuggen versuche. Ich denke also, dass Sie erwarten sollten, dass die Einstiegspunktdatei für Ihre Webanforderungen in diesem XML <init> -Element erscheint. Ich wünschte, ich wüsste, warum, wenn Pear installiert hat, das Attribut fileuri ändert. In der Lage zu sein, Pear zu konfigurieren, damit er nicht mit Xdebug herumhantiert, wäre viel besser als die Deinstallation von Pear.

    
CoreDumpError 04.12.2014 19:34
quelle
1

Ich habe dasselbe Problem gefunden, und die Ursache war nicht pear.ini oder pear-ini.php wie oben erwähnt.

Der Grund war so einfach. Ich habe sowohl PDT als auch Aptana PHP Plugin auf meiner Eclipse-Umgebung installiert. Nur Wechsel sowohl des Projekttyps und der Debug-Konfigurationstyp auf PDT , alles hat gut funktioniert.

Danke, dass du einen schönen Thread gepostet hast. :)

    
kaorukobo 26.02.2014 14:03
quelle
0

Ich benutze Linux und befestige den Eclipse-Prozess unter Verwendung von strace (dem echten Java-Subprozess natürlich). Ich konnte solche Fehler nicht abfangen.

Für diejenigen, die das gleiche Problem haben, aber nicht erfolgreich bei der Lösung sind und wenn Sie vor kurzem ein Eclipse- oder PDT-Update durchgeführt haben, versuchen Sie, Ihr Projekt zu löschen und neu zu erstellen. Es löste mein Problem, wo xdebug-Debugging und Eclipse-Projektbereinigung nicht durchgeführt wurde.

    
Pierre 05.08.2013 12:06
quelle
0

Wenn Ihr Debugger früher funktioniert hat, dann hat er plötzlich damit begonnen, diese Nachricht zu versenden. Wahrscheinlich haben Sie gerade eine Quelldatei mit einem Lesezeichen versehen, dass Eclipse sie nicht als Teil des Projekts sieht oder überhaupt nicht findet.

Als ich zum Beispiel ein Plugin für Wordpress geschrieben habe, das ich für Wordpress geschrieben habe, habe ich eine externe Wordpress-Datei mit Lesezeichen versehen, auf die Eclipse / Xdebug anscheinend nicht zugreifen kann. Sobald ich dieses Lesezeichen entferne, kehrt alles zum normalen zurück.

Wenn das der Fall ist, dann einfach alle Lesezeichen entfernen.

    
Eugen Mihailescu 22.05.2015 18:08
quelle