Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Logik Programmierung mit Eclipse und Remote Debug auf SH
Interessant. Läuft das über eine ssh instanz oder öffnet der debugger eine verbindung? Das sollte sich mit eclipse dann eventuell auch umsetzen lassen.
Am WE werd ich mal versuchen, das HowTo fertig zu machen. Neben Frau und Kind nimmt much auch noch das Sonos-Plugin / Server in Beschlag. Aber ich denke, HowTos fuer die Entwicklungsumgebung haben fast den Vorrang
Hallo pfischi,
hast Du hier schon was unternommen? Ich würde mir auch gerne die community version von pycharm installieren und mich ein wenig an smarthome.py Programmierung versuchen.
kein thema, bevor ich das howto dort einstelle würde ich aber noch gerne ein wenig feedback abwarten. Klappt das bei euch wie beschrieben?
Derweil zeichnet sich dann doch ein kleines Problem ab.
Wenn eine Logik ausgeführt wird, die den pydevd importiert, wird mein smarthome in der debug console mit "Ctrl+C" nicht mehr sauber gekillt. Da hilft dann nur noch ein explizites "smarthome --stop" in einer zweiten ssh Session.
Hallo firefox,
nachdem ich mir das mit eclipse auch nach Deiner Anleitung installiert habe, komme ich genau auch an diesem Punkt vorbei. Gibt es dazu schon eine Idee ?
Michel
Edit: Funktioniert bei mir jetzt wunderbar. Wichtig: smarthome im interaktiven mode starten smarthome.py -i, dann geht auch das Abbrechen. und ganz wichtig: nicht vergessen die Pfade anzugleichen (eclipse auf Rechner, smarthome auf RASPI), damit der Debugger die source Files auflösen kann. Klasse Anleitung !
und ganz wichtig: nicht vergessen die Pfade anzugleichen (eclipse auf Rechner, smarthome auf RASPI), damit der Debugger die source Files auflösen kann. Klasse Anleitung !
Hast du gegenüber meiner Anleitung an Pfadvariablen was geändert? Oder wie ist das gemeint?
Hast du auch die Variante mit dem symbolischen Link und dem Eclipse Workspace auf dem PI versucht?
EDIT:
Ok, ich denke jetzt weiß ich was du meinst. Werde den Punkt mit der PATHS_FROM_ECLIPSE_TO_PYTHON Variable noch ergänzen.
ja , das ist das eine. Wichtig aber auch, dass Du ja die pydevd Files vom Eclipse Workspace auch auf den Raspi an die richtige Stelle kopieren mußt. Aufpassen bei einem Update auf deinem Entwicklungsrechner mit Eclipse, weil dort natürlich u.U. auch die pydevd Files einen Update erfahren, die mußt Du dann wieder auf den Raspi kopieren usw.
bei mir klappt das debuggen zwar prinzipiell, nicht aber mit Breakpoints.
Ich habe /usr/local/smarthome als Z:\ gemountet.
Setze ich bei laufendem Debugger einen Breakpoint in Eclipse, so sehe ich in der linux-Konsole (sh.py log):
Code:
pydev debugger: warning: trying to add breakpoint to file that does not exist: /usr/local/smarthome/Z:/plugins/lohberger/__init__.py (will have no effect)
Das ist komisch, denn ich habe das Mapping der Pfade ja angegeben:
vielen Dank für deine Antwort.
Bei mir läuft sh.py unter python3.4. 3.2 habe ich gar nicht auf dem System.
Ich habe auch nicht wirklich mehr als du drin, denn der Teil
Code:
#,("Z:\Python3.4", "/usr/lib/python3.4")]
Ist ja auskommentiert (sorry, hätte ich löschen sollen).
Du hast mit deinem MAC natürlich den Vorteil, dass du weder ein Laufwerksnamen, noch einen Backslash im Pfad hast. Daher kann ich von dir leider nicht direkt lernen :-)
sorry. Du hattest nur z: im Pfad angegeben.U.U. landest Du bei Windows nicht im obersten Verzeichnis. Wenn Du z:\ wie auch bei Deinen auskommentierten Einträgen angibst, wäre das sichergestellt !
die sache mit dem unsauberen kill in der debug console liegt definitiv am devd.
bevor die smarthome instanz gekillt wird, muss sicher gestellt sein, dass der debuger das script vollständig durchlaufen hat.
im zweifel solange auf den resume button klicken bis eclipse keine variablen mehr anzeigt und dann die smarthome instanz mit strg+c killen. das funktioniert sogar dann noch wenn man smarthome bereits weggeschossen hat.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar