Pregunta

En Linux, FreeBSD y otros sistemas Tengo valgrind para comprobar si hay errores de memoria no válida como lecturas y similares. Me encanta valgrind. Ahora tengo que probar el código en Solaris / OpenSolaris y no puedo encontrar una manera de obtener información sobre inválida lecturas / escrituras de una manera tan agradable (o mejor ;-)) como valgrind allí.

Durante la búsqueda de esto en la red me encontré referencias a libumem , pero solo me dan informes sobre las pérdidas de memoria, no hay acceso no válido. ¿Qué me falta?

¿Fue útil?

Solución

El dbx incluido con los compiladores de Sun Studio incluye acceso a la memoria de comprobar el apoyo en su "tiempo de ejecución Comprobación" característica (el subcomando check). Ver:

El relacionadas con "error de memoria Sun Descubrimiento de herramientas" también está disponible desde http://cooltools.sunsource.net/ descubrir /

Otros consejos

watchmalloc es una biblioteca muy útil que se puede cargar dinámicamente para su programa (por lo general no hay necesidad de volver a compilar) y a continuación, establece puntos de observación en todos los lugares de memoria por lo general problemáticos, como zonas liberadas o después de un bloque de memoria asignada. Si su programa accede a una de estas áreas no válidas se pone una señal y se puede inspeccionar en el depurador.

En función de la configuración de las áreas problemáticas pueden ser observados para las escrituras solamente, o también para lee.

Desde la versión 3.11.0, Valgrind se ejecuta en Solaris. Ver Notas de la versión y Plataformas compatibles .

Más precisamente, x86 / Solaris y amd64 / Solaris es ahora compatible. El apoyo a SPARC / Solaris es todavía en obras.

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