| Anterior | Siguiente |
| ERROR_NOT_ENOUGH_MEMORY | ERROR_BAD_ENVIRONMENT |
ERROR_INVALID_BLOCK
Qué significa ERROR_INVALID_BLOCK
ERROR_INVALID_BLOCK (9) indica que un bloque enviado a una operación de gestión de memoria no puede reconocerse como una asignación válida. Suele aparecer al liberar un puntero incorrecto, una dirección interior del bloque, una asignación ya liberada o memoria obtenida mediante otro allocator.
Cómo investigarlo
- Capture las pilas de asignación y liberación asociadas al puntero.
- Verifique que reserva y liberación usan el mismo runtime y el mismo heap.
- Revise el ownership cuando objetos o buffers cruzan límites entre DLL.
- Use Page Heap u otras herramientas de diagnóstico para localizar la primera escritura o liberación inválida.
Corrección
Corrija el contrato de propiedad y asignación. Repetir la misma operación de liberación no es una recuperación válida y puede provocar más corrupción. Si el fallo aparece lejos del punto que dañó la memoria, priorice una reproducción con instrumentación en vez de modificar el manejo del error final.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.