Ich möchte einige Debug-Konsole für meine Anwendung machen. Es sollte einige Daten ausgeben und Eingabebefehle nehmen. Wie kann ich das machen? Der beste Weg ist das Aktualisieren der Konsole wie: Zeichnen von Informationen und Aufforderung zur Eingabe nach den Daten. Ich entwickle unter Linux. Zum Beispiel könnte gdb Eingabe von der Konsole nehmen.Konsole für Eingabebefehle
Antwort
Wenn Sie mit der Socket-Programmierung (oder eigentlich jeder anderen Art von IPC-Mechanismus) vertraut sind, möchten Sie vielleicht einen Listener in Ihrer Anwendung aktivieren und eine externe Anwendung entwickeln, die alle "Konsolen" -Einheiten erledigt Sie, während Sie mit der Hauptanwendung kommunizieren.
Nehmen wir an, Sie haben eine Anwendung, die eine einzelne Taste und eine einzelne Textbeschriftung hat, und jedes Mal, wenn Sie diese Taste drücken - die Beschriftung von 1 steigt von 1 bis 2 bis 3 usw.
Sie kann einen Socket-Listener in diese Anwendung einbauen. Wenn der Socket-Listener eine neue eingehende Verbindung akzeptiert, würden Sie einen Anschlussgewinde starten, können:
- Sie erhalten einen „Shutdown“ Befehl
- einen „Zähler zurücksetzen“ Receive Befehl
- ein Update senden über die aktuelle Anzahl auf jedem Klick
- usw.
Dann bauen Sie eine andere, externe Anwendung, die auf die Hauptanwendung verbindet, und sendet Nachrichten an sie, basierend auf der Konsole Eingabe es vom Nutzer betrieben wird. Es würde auch eingehende Updates abhören und sie dem Benutzer anzeigen.
eine externe Anwendung verwenden für die Hauptanwendung Debug-Steuerung ist sehr hilfreich, mit den folgenden Gründen nur einige der Vorteile sind:
- Egal, wie die Debug-Anwendung Buggy ist, kann es nicht die Release-Version verletzt Ihrer Hauptanwendung.
- Der gesamte Code, der sich mit der Konsolenverwaltung befasst, die für Ihre Hauptanwendung redundant ist, kann außerhalb der Haupt-App gespeichert werden.
- Die Erstellung von zwei Projekten kann die Zusammenarbeit mit anderen erleichtern, solange Sie beide das Protokoll zwischen den beiden Seiten kennen.
- Wenn Sie das, was ich vorgeschlagen habe, implementieren, können Sie Ihre Anwendung remote debuggen, falls Sie keinen Zugriff auf die Hauptanwendung haben (z. B. wenn sie sich auf einer Kunden-Site befindet).
+1 schwer zu implementieren, aber skaliert gut und bietet eine gute Trennung der Verantwortung –
Ich bin eine serverseitige Person :-) Aber ja, ein Nachteil meiner Lösung ist die Komplexität der Implementierung in diesem Fall. –
- 1. JVisualVM für Linux-Konsole?
- 2. interaktive Konsole für Ruby, PHP
- 3. Wie eine Datei nur für Konsole
- 4. System.in für Intellij über die Konsole lesen
- 5. Aktivieren einer Konsole für eine Ruby-App
- 6. Ruby Konsole Alternative für IRB (Windows)
- 7. C# Pfeiltasten Eingabe für eine Konsole App
- 8. Format Zeichenfolge basierend auf Formatierungscodes für Konsole
- 9. Wie nehme ich "Standard-Eingabebefehle" an und weiß dann, wann ich das Programm weiter ausführen soll?
- 10. Rails3 irb Konsole gegen Schienen Konsole?
- 11. Rails "Skript/Konsole" vs "Skript/Konsole --sandbox"
- 12. C# -Konsole?
- 13. Verfügt xCode über eine Debugging-Konsole für die iOS-Entwicklung wie die Konsole eines Browsers?
- 14. Interaktive Konsole/Pydev-Konsole bricht vollständig auf unbehandelt Fehler
- 15. Eclipse-Konsole Timestamp-Plugin?
- 16. Konsole ReadKey Timeout
- 17. Render Scroll-Konsole
- 18. einbetten Konsole in Form
- 19. Javascript: Konsole löschen [Firefox]
- 20. Testen in der Konsole
- 21. symfony2 Konsole Argumente
- 22. Konsole App Frage
- 23. Schienen Konsole lädt nicht
- 24. Blinkender Unterstrich mit Konsole
- 25. Konsole beim Debuggen langsam
- 26. Javascript-Konsole-Anwendung?
- 27. Android-Konsole: Authentifizierung erforderlich
- 28. Laravel5 Konsole nicht registriert
- 29. Django Logging auf Konsole
- 30. Konsole loggen Winkel
Sie möchten eine Art Eingabeaufforderungskonsole zu Ihrer Nicht-Konsole-Anwendung hinzufügen, ist das korrekt? –
@ john-dibling ja – Ockonal
Und Johns Kommentar oben hinzufügen, wie ist UI angeordnet? Was macht die Anwendung im Allgemeinen? Und ist es akzeptabel (vielleicht vorzuziehen?), Dass die Konsole entfernt ist? –