Investigamos problemas como estos
- Interrupciones de comunicación que solo ocurren de vez en cuando
- Cierres inesperados que solo aparecen tras muchas horas de funcionamiento
- Problemas de conexión con equipos que resultan difíciles de reproducir
- Fugas de memoria o de identificadores y aumento del número de hilos
- Problemas cuya causa no puede rastrearse por falta de registros
En los errores que, pese a un funcionamiento normalmente correcto, aparecen solo en contadas ocasiones, la propia estrategia de aislamiento es fundamental.
Cómo realizamos la investigación
- Primero separamos los factores internos de la aplicación de los relacionados con la comunicación, los equipos y el sistema operativo.
- A continuación ampliamos la información observable: registros, métricas, paquetes, número de identificadores, rutas de excepciones, etc.
- Con esos datos acotamos las condiciones de reproducción y organizamos tanto la causa como las medidas para evitar que se repita.
Ámbitos en los que podemos ayudar especialmente
- Interrupciones y demoras en comunicaciones TCP o mediante sockets
- Anomalías de comunicación con cámaras industriales y dispositivos periféricos
- Inestabilidad en software existente que utiliza COM o ActiveX
- Fugas y agotamiento de recursos que solo aparecen tras un funcionamiento prolongado
- Investigaciones difíciles por falta de pruebas de situaciones anómalas o de un diseño adecuado de registros
Este servicio resulta útil si
- Todavía no sabe si la causa está en la aplicación o en la comunicación
- La reproducción tarda desde varias horas hasta varias semanas
- Dispone de registros, pero no consigue establecer una relación causal
- Antes de modificar el software quiere determinar qué debe observarse
Ayuda que incluye la prevención de reincidencias
Una investigación no debe terminar al encontrar la causa. Es importante dejar el sistema preparado para detectar y rastrear antes el próximo problema.
Por eso, cuando sea necesario, trabajamos también en aspectos como estos:
- Revisión de los datos incluidos en los registros
- Incorporación de contexto por sesión y operación
- Preparación de una base de pruebas para situaciones anómalas
- Organización del código para poder seguir el ciclo de vida de los recursos