Pregunta

He estado trabajando en una incrustado en C/C++ proyecto recientemente a través de la shell en el Tornado 2 como una forma de depuración de lo que está pasando en nuestro kit.El único problema con este enfoque es que es un sistema complicado y, como resultado, tiene un poco justo de la salida.Tornado 'amablemente' desplaza la ventana cada vez que alguna nueva información llega lo que significa que si usted descubre un error, desaparece fuera de sitio demasiado rápidamente para ver.Cada vez que desplazarse hasta la mirada, el sistema añade más información, así que la única manera de verlo es desconectar el hardware.

Me gustaría saber si alguien tiene una manera de redirigir el resultado de Tornado?

Tenía la esperanza de que podría ser una manera de iniciar todo desde un pequeño python app para que yo pueda aplicar filtros a la entrada de la información.He probado a conectar en el Tornado proceso, pero la ventana con la información no es un estándar CEditCtrl para extraer el texto de esa manera era un callejón sin salida.

Cualquier ideas a nadie?

[Editar] Yo debería haber mencionado que sólo estamos ejecutando Tornado 2.1.0 y la actualización a una versión más reciente está más allá de mi control.

[Edit2] La ventana en cuestión en el Tornado es un 'AfxFrameOrView42' de acuerdo a la WinID.

¿Fue útil?

Solución

aquí está otra de las posibles vías:

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

esto redirigirá todos stdout actividad para el archivo abierto.Usted podría tener que jugar con el nombre de archivo de la apertura a hacer es escribir en el host (por ejemplo,uso "host:/myfile.txt" o algo así)

Otros consejos

El host shell tiene una capacidad de grabación incorporado.Hay 3 variables de entorno disponibles (en 6.x - no disponible en 5.x):

REGISTRO (on/off) :Controles de grabación de la concha
RECORD_TYPE (entrada/salida/todos):Determina lo que se va a grabar
RECORD_FILE :Nombre de archivo para guardar las cosas.

utilice el ?shConfig comando para configurar la variable de entorno shell.?shConfig por sí mismo muestra las variables.Aquí es cómo me puse el mío:


-> ?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'.

Estoy haciendo la suposición de que usted está usando el host shell para realizar esto.

Si está ejecutando una prueba de lanzamiento de la concha como "runTest()", usted puede utilizar el operador de redirección (>) para enviar el resultado de esa función a un archivo de texto en el equipo host.

 > runTest() > mytestResults.txt

Esto le ahorrará cualquier salida que runTest genera el archivo mytestResults.txt

Si desea capturar todo en la pantalla todo el tiempo, voy a tener que cavar más en esto.

rlogin vxWorks objetivo | tee redirected-output.txt

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top