Me enfrenta a un problema que es tan misterioso, que ni siquiera sé cómo formular esta pregunta ... Ni siquiera puedo publicar ningún fragmento de código.Errores de tiempo de ejecución irreproducibles: ¿enfoque general?
Desarrollo un gran proyecto por mi cuenta, empecé desde cero. Ya casi es tiempo de liberación, pero no puedo deshacerme de algún error molesto. Mi programa escribe un archivo de salida de vez en cuando y durante ese recibo, ya sea:
- error out_of_range std :: string
- std :: string length_error
- sólo un montón de tonterías sobre la producción
Vale la pena señalar que esos errores aparecen muy raramente y puede nunca reproducirse, incluso con la misma entrada. Memcheck no muestra ninguna violación de la memoria, incluso en las ejecuciones donde los errores se notaron previamente. Cppcheck tampoco tiene quejas. Uso STL y pthreads intensivamente, pero sin este último también ocurren errores.
Probé con los más recientes g ++ y icpc. Estoy ejecutando alguna versión de Ubuntu, pero no creo que esa sea la razón.
Les agradecería cualquier ayuda de ustedes, muchachos, sobre cómo abordar tales problemas. Gracias de antemano.
A veces me encuentro con excepciones de cadenas, y la mayoría de las veces, esto se debe a que pasé los parámetros a los métodos de cadena al revés, por ejemplo , 'string :: append', para anexar un solo carácter, por ejemplo, el orden es count y luego char, a menudo lo he escrito al revés. Esto es realmente difícil de depurar hasta que ocurra algo raro ... – Nim
¿Probablemente esto pertenece a los programadores no al stackoverflow? – CashCow
¿Qué tan raro es "muy raramente"? Si lo ejecuta durante dos o tres horas, ¿cree que surgirá el error? –