Ich benutze Emacs für alle meine Code-Edit Bedürfnisse. Normalerweise verwende ich Mx kompilieren, um meinen Testläufer zu laufen, was ich ungefähr 70% von dem tun würde, was ich tun muss, um den Code in der Spur zu behalten, aber in letzter Zeit habe ich mich gefragt, wie es möglich ist, Mx pdb zu verwenden Gelegenheiten, bei denen es schön wäre, einen Haltepunkt zu treffen und Dinge zu inspizieren.
In meinem Google-Suche habe ich einige Dinge gefunden, die vorschlagen das ist nützlich / möglich. Jedoch habe ich es nicht geschafft, dass es auf eine Art funktioniert, die ich vollständig verstehe.
Ich weiß nicht, ob es die Kombination aus Build + Appengine ist, die es schwieriger macht, aber wenn ich versuche, etwas wie
zu tun %Vor%Wo ... / bin / python ist der Interpreter-Buildout mit dem Pfad für alle Eier.
~ / bin / pdb ist ein einfaches Skript, das mit dem aktuellen Python-Interpreter
in pdb.main aufruft %Vor%... / bin / devappserver ist das Skript dev_appserver, das das Erstellungsrezept für gae project erstellt, und ... / parts / hydrant-app ist der Pfad zur app.yaml
Ich werde zuerst mit einer Eingabeaufforderung
vorgestellt %Vor%Nichts passiert außer
%Vor%etwas passiert
%Vor%meldet, dass ein Haltepunkt gesetzt wurde. Aber ich kann es nicht schaffen, die Dinge in Gang zu bringen.
Es fühlt sich an, als ob ich hier etwas Offensichtliches verpasse. Bin ich?
Lohnt sich interaktives Debugging in Emacs? ist das interaktive Debugging einer Google Appengine App möglich? Irgendwelche Vorschläge, wie ich das funktionieren lassen könnte?
Hmm. Du machst das ein bisschen anders als ich. Ich habe nicht mit deiner Methode experimentiert. Ich benutze das pdb-Bibliotheksmodul direkt, ohne Wrapper-Skript, benutze einfach die Python-Befehlszeilenoption "-m", um python anzuweisen, das Modul als Skript auszuführen.
Um zu gründlich zu sein, hier ist meine Abfolge von Operationen:
Ich nehme an, es ist möglich, dass es aus irgendeinem Grund nicht gut mit dem Appengine funktioniert. Ich empfehle, dass es zuerst mit einem trivialen Python-Programm funktioniert und sobald Sie wissen, dass es funktioniert, versuchen Sie, die volle App zu verwenden.
In der Praxis mache ich nicht viel Python-Debugging mit pdb. Der Großteil meines Debugging ist im Wesentlichen "printf debugging", das Einfügen von Druckanweisungen in meine Komponententests und (gelegentlich) in den eigentlichen Code.
Tags und Links python emacs google-app-engine