Pregunta

¿Tiene maneras Alguien sabe de la instalación piloto de pruebas de la automatización parcial o totalmente?

Soy nuevo en el desarrollo de controladores y estoy acostumbrado a más de un enfoque basado en pruebas en lenguajes de alto nivel, por lo que se mueve con el tipo de ambiente en el que no puedo probar fácilmente a medida que avanzo ha sido un paso para mí. Estoy utilizando Virtual PC para mi entorno de prueba y actualmente tengo para restablecerla, administrador de dispositivos abierto, seleccione el dispositivo, haga clic a través de un montón de " ¿Está realmente seguro de que no más bien instalar uno de estos controladores del sistema " tipo diálogos, y finalmente reiniciar el entorno de prueba al reiniciar WinDBG en el ordenador central al igual que el entorno de prueba está arrancando ... Argh.

Después de repetir este proceso muchas, muchas veces ya, seguramente no tiene que ser un haber una mejor manera de hacer esto? ¿Qué herramientas / métodos / trucos qué los desarrolladores de controladores comerciales utilizan para funcionar a su conductor en un entorno de prueba?

Tenga en cuenta, no se trata de conductores de pruebas unitarias, no he llegado a esa etapa o saber si es aún posible. Esto se trata sólo de disparar un entorno de prueba con WinDbg adjunta para asegurarse de que un pequeño cambio que pudiera haber hecho está haciendo lo que espero.

¿Fue útil?

Solución

Me parece que un software de virtualización + a " simulacro de objetos " enfoque (estratificación) (como se sugiere por Aaron Digulla) + guiones (según lo sugerido por Sergio) pueden simplificar el desarrollo de controlador de dispositivo.

Pero si se utiliza Visual Studio para desarrollar aplicaciones de nivel de usuario, se puede utilizar para el desarrollo de controladores de dispositivos del núcleo también con VisualDDK (+ VirtualKD de depurar a través de una tubería con nombre, que es más rápido que en un puerto COM virtual) , que se refiere específicamente a las molestias que se mencionan; desde su página de inicio:

  

... Este proyecto reúne la simplicidad y   conveniencia de la aplicación de Windows   desarrollo al desarrollo controlador   mundo. Ninguna creación manual de más de   scripts de construcción, la copia del controlador   archivos, instalación de controladores de INFs,   la conmutación entre WinDbg y la   editor de código fuente o en espera de segundos   Después de cada paso, debido a la extra-lento   puerto COM virtual. Basta con crear un controlador   proyectar el uso de un controlador conveniente   Asistente, seleccione una máquina virtual, y   disfrutar de la depuración del controlador directamente   desde Visual Studio. ¿Quieres una prueba   ¿cambio? Sólo normalmente pulse Mayúsculas + F5,   modificar su conductor, y reconstruirlo   poner en marcha de nuevo . VisualDDK descargará   el controlador antiguo, instalar uno nuevo   y cargarlo de forma automática y rápida.   Aburrido de archivos de símbolos de carga WINDBG   para los minutos y levantando los símbolos de   ¿segundos? Simplemente deja que optimizan la VisualDDK   esto para usted usando su propia DIA-basa   motor de símbolo. Usando C ++ / STLport en   los controladores? VisualDDK hará de forma nativa   visualizar todos los contenedores STL y   cuerdas, tan buena como lo hace Visual Studio   para aplicaciones en modo de usuario. ...

Otros consejos

Puede escribir algunos scripts de shell (utilizando sc.exe y devcon.exe) para automatizar tareas de implementación (No hay dispositivo de apertura, haciendo clic en los botones, etc). Y hacer instantánea del sistema listo para depuración (no tiene por qué esperar a que el arranque del sistema).

No se olvide de comprobar su conductor con DriverVerifier!

Ejemplo de mi propio guión:)

sc create FsFilter type= filesys binPath= c:\FSFilterDrv.sys
sc start FsFilter
pause
sc stop FsFilter
sc delete FsFilter

Siga el consejo que dio aquí . Básicamente, la prueba lo menos posible con el sistema real.

En su caso, tengo otro consejo:. Virtual PC está utilizando un disco duro virtual (que es probablemente un archivo en el disco duro real)

No es necesario instalar el controlador, puede simplemente reemplazar a los nuevos archivos en el disco duro virtual. Esto no es a menudo posible en el sistema funcionando, pero en un sistema virtual, puede abrir el archivo de disco virtual y cambiarlo (ya que Windows no está bloqueando los archivos en ella).

No estoy seguro acerca de Virtual PC, pero otros emuladores vienen con herramientas para trabajar con imágenes de disco virtual. Si VPC no puede hacerlo, echa un vistazo a VirtualBox .

Todo depende un poco en qué tipo de controlador que está escribiendo. Pero en muchos casos, escribir un makefile apropiado (o algo similar) que la instalación de las manijas del conductor, arranque / parada, y el lanzamiento de un instrumento de prueba ya puede ser lo suficientemente bueno.

También configurar todas mis máquinas de prueba de inicio de sesión de forma automática (AutoAdminLogon), asignar unidades de red, y lanzar un comando apropiado ya tiempo después del inicio. La ejecución de una prueba específica es entonces una cuestión de escribir en un solo comando solamente.

Una palabra en relación con VirtualPC: VirtualPC es muy útil para el desarrollo de modo de núcleo, pero no se olvide que emula una máquina monoprocesador solamente - así que asegúrese de comprobar regularmente el código en una máquina multiprocesador también. Dicho esto, el truco VHD puede parecer útil, pero un tanto te ata a Virtual PC -. Escribiendo guiones apropiados que igualmente trabajar en VirtualPC como en una máquina real, por lo tanto, parece un método mejor para mí

Por último, considero que es un enchufe descarado, pero si usted está buscando una unidad probar marco de código de modo kernel de Windows, he escrito una: Cfix .

creo que la utilidad DevCon (descrita en esta línea OSR artículo ) Te ayudará. Usted debe ser capaz de archivos por lotes de configuración que hacen el trabajo en un solo clic.

Es libre para firmar con osronline.com, y es probable que tenga que firmar hasta llegar a ese artículo. Y si usted está escribiendo los conductores, que desea inscribirse. Estos chicos han estado haciendo esto durante mucho tiempo, y hay una gran cantidad de muy buena información de dicho sitio web.

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