Ich habe ein Programm geschrieben in Python für automatisierte Tests auf mobilen Geräten (iOS & Android). Der richtige Workflow dieses Programms ist es, wie (für Rauchversuche) folgt:Beenden der LLDB-Sitzung nach einer definierten Zeitspanne
Deploy ausführbare einem angeschlossenen USB-Gerät (.ipa oder .app) mit ios implementierende
Anwendung starten (Debug-Prozess) -> schreibt nach stdout.
Ausgabe in Pipe schreiben -> so ist es möglich, die Ausgabe des Debugging-Prozesses parallel zu lesen.
Wenn die gesuchte Nadel in der Ausgabe erkannt wird, wird das Gerät neu gestartet (dies ist ein ziemlich schmutziges Problem zu umgehen, werde mich ein Kraft-Stop-Verfahren oder ähnliches einfügen)
Mein Problem is: Wenn die Nadel in der Ausgabe des Debug-Prozesses erkannt wird, wird die lldb-Sitzung unterbrochen, aber nicht beendet. Um die lldb-Sitzung zu beenden, muss ich das Gerät erneut verbinden oder das Terminal beenden und es erneut öffnen.
Gibt es eine Möglichkeit, dem lldb-Aufruf etwas wie ein "time-to-live-flag" anzuhängen, um zu bestimmen, wie lange die lldb-Sitzung laufen soll, bis sie automatisch beendet wird? Eine andere Möglichkeit, wie ich die lldb-Sitzung beenden kann, besteht darin, der Sitzung nach dem Neustart des Geräts erneut beizutreten und sie dann zu beenden, aber es scheint, dass lldb nur ein Unterprozess von ios-deploy ist. Daher habe ich keine Möglichkeit gefunden, auf den lldb-Prozess zuzugreifen.