Cuando yo estaba corriendo mi programa en contra de valgrind, me he encontrado con la siguiente advertencia.

Warning: set address range perms: large range [0x4d59d040, 0x6159d040) (undefined)
Warning: set address range perms: large range [0x194f7030, 0x2d4f7050) (noaccess)
Warning: set address range perms: large range [0x3959d030, 0x6159d050) (noaccess)

Después de buscar un poco en google he encontrado en aquí que es un Diagnostic message, mostly for benefit of the Valgrind developers, to do with memory permissions, que no me dice mucho.

Mi programa no asignar una gran cantidad de memoria en el montón. (Puede alcanzar de 2 a 3 GB de memoria ram después de un montón de realloc‘s)

Sin embargo, la advertencia apareció a pesar de que ninguna de las asignaciones de error.

Así, me pregunto qué este mensaje significa realmente? No tengo algún tipo de memoria permiso? (Pero la asignación de éxito)

InformationsquelleAutor Jimmy Lu | 2012-11-26

1 Comentario

  1. 72

    Sólo significa que cambiado los permisos en un gran bloque de memoria.

    Que puede suceder algo así como una llamada a mprotect o cuando una memoria muy grande asignación o cancelación de asignación se produce – una mmap o munmap llame por ejemplo.

    El primero de la lista es la configuración de alrededor de 320 mb de memoria para undefined que es más probable una nueva asignación, que será marcada como no definida inicialmente. Los otros son ambos ajuste de tamaño similar, los bloques de noaccess que probablemente se refiere a una desasignación de memoria.

    • Lo que yo veo. Es esto algo que uno nunca debería estar preocupado? (Supongo que no lo es mostly for benefit of the Valgrind developers?)
    • He ampliado y aclarado mi respuesta un poco, pero básicamente, no, no lo es en general, cualquier cosa que usted necesita preocuparse.
    • Lo que si aparece en la lista de los cinco errores que terminan con: (define) – (noaccess) – (definido) – (noaccess) – (definido)?

Dejar respuesta

Please enter your comment!
Please enter your name here