Frage

Ich habe auf einem Embedded-C arbeiten / C ++ Projekt vor kurzem die Schale in Tornado 2 als eine Möglichkeit der Fehlersuche mit, was in unserem Kit vor sich geht. Das einzige Problem bei diesem Ansatz ist, dass es ein kompliziertes System ist und als Ergebnis hat ein gutes Stück ausgegeben. Tornado ‚helfend‘ scrollt das Fenster jedes Mal einige neue Informationen, was bedeutet, kommt, dass, wenn Sie einen Fehler entdecken, es aus der Website verschwindet, zu schnell zu sehen. Jedes Mal, wenn Sie schauen nach oben zu, das System mehr Informationen hinzufügt, so der einzige Weg, um es zu sehen ist, die Hardware zu trennen.

Ich würde gerne wissen, ob jemand einen Weg Umleiten die Ausgabe von Tornado hat?

Ich hatte gehofft, es könnte ein Weg sein, alles aus einer kleinen Python App anmelden, damit ich Filter auf die eingehenden Informationen anwenden können. Ich habe versucht, in den Tornado-Prozess anschließen, aber das Fenster mit der Information ist kein Standard CEditCtrl so Extrahieren der Text auf diese Weise eine Sackgasse war.

Alle Ideen anyone?

[Bearbeiten] ich erwähnt habe, sollte, dass wir laufen nur Tornado 2.1.0 und ein Upgrade auf eine neuere Version außerhalb meiner Kontrolle ist.

[Edit2] Das Fenster in Frage Tornado ist ein 'AfxFrameOrView42' nach WinID.

War es hilfreich?

Lösung

hier ist eine andere mögliche Art und Weise:

-> saveFd = open("myfile.txt",0x102, 0777 )
-> oldFd = ioGlobalStdGet(1)
-> ioGlobalStdSet(1, saveFd)
-> runmytest()
...
-> ioGlobalStdSet(1, oldFd)

Dies wird umleiten alle stdout Aktivität auf die Datei, die Sie geöffnet. Sie könnten mit dem Dateinamen der offenen spielen müssen um es auf dem Host machen schreiben (zum Beispiel „host: /myfile.txt“ verwenden oder ähnliches)

Andere Tipps

Der Host-Shell hat eine Aufnahmefunktion eingebaut. Es gibt 3 Umgebungsvariablen zur Verfügung (in 6.x - nicht verfügbar in 5.x):

RECORD (Ein / Aus): Kontrollen der Schale
Aufnahme RECORD_TYPE (Input / Output / all): Legt fest, was werden Sie
Aufnahme werden RECORD_FILE. Dateinumm Dinge zu speichern

Sie verwenden das? ShConfig Befehl, um das Shell-Umgebungsvariable zu konfigurieren. ? ShConfig selbst zeigt die Variablen. Hier ist, wie ich gesetzt Mine up:


-> ?shConfig
...
RECORD = off
RECORD_FILE = C:/test.txt
RECORD_TYPE = output
...

-> ?shConfig RECORD_TYPE all
-> ?shConfig RECORD_FILE myData.txt
-> ?shConfig RECORD on
Started recording commands in 'myData.txt'.

Ich mache die Annahme, dass Sie den Host-Shell verwenden diese auszuführen.

Wenn Sie einen Test ausgeführt werden, indem sie aus der Schale wie „runTest ()“ starten, können Sie den Umleitungsoperator (>) verwenden, um die Ausgabe dieser Funktion in eine Textdatei auf dem Host-Maschine zu senden.

 > runTest() > mytestResults.txt

Dies wird eine Ausgabe speichern, die runTest in die Datei mytestResults.txt erzeugt

Wenn Sie möchten, dass alles, was auf dem Bildschirm die ganze Zeit erfassen, ich werde mehr in diesen graben.

vxWorks-Ziel rlogin | tee umgeleitet-output.txt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top