LabVIEW Application Error: The instruction at address x referenced memory at address y. The memory could not be read.



Software Primario:
Versión de Software Primario: 7.1
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:

Al terminar mi aplicación, obtengo el siguiente error:

 

LabVIEW: LabVIEW.exe - Application Error
The instruction at address x referenced memory at address y. The memory could not be read.

 

 

¿Qué significa este mensaje de error y cómo lo puedo resolver?



Solución:

Este error ocurre cuando algo en el espacio de memoria de LabVIEW ha sido corrompido y comúnmente es ocasionado al llamar código en un DLL o CIN. Cuando LabVIEW realiza el Garbage Collection, eventualmente encontrará los espacios en memoria que tienen datos corruptos y dejará de funcionar.

 

Para solucionar este problema, elimine todas las llamadas a DLLs que pueda tener en su código de LabVIEW y verifique que la falla desaparezca. La mayor parte del tiempo, la corrupción puede atribuirse a una llamada a una DLL que ha pasado incorrectamente las entradas al nodo Call Library Function, a menudo sucede al pasar un arreglo o un string no inicializado, o  al escribir fuera de los límites del arreglo o del string en la función DLL.

 

Algunas funciones DLL asumen que el buffer del string tiene un tamaño preestablecido de 256 bytes, 1 KB, o algún otro tamaño. Si se pasa un buffer de menor tamaño, la DLL puede escribir después del buffer y corromper los datos siguientes.

 

Este error también puede ser provocado cuando corremos un ejecutable construido en LabVIEW. Si el VI llama una función WinAPI DLL y utiliza la ruta completa de la DLL en el nodo Call Library Function, el Application Builder de LabVIEW crea una copia de la DLL en el directorio de datos de los ejecutables. Algunas DLLs, tales como WinAPI DLLs, deben residir solamente en una locación, como C:\WINDOWS\system32, de lo contrario errores pueden ocurrir cuando son llamadas. Para prevenir esta situación, remueva todas las rutas a las DLL en el nodo Call Library Function cuando haga llamadas a las DLLs de WinAPI.

 



Ligas Relacionadas:
KB 0HBE88A1: Why Does LabVIEW Crash When I Call My DLL
KB 17BBT4U9: My Stand-Alone Executable Cannot Find My DLL, Even Though I Have Specified the Path for the DLL


Archivos Adjuntos:





Día del Reporte: 08/19/2004
Última Actualización: 08/29/2008
Identificación del Documento: 3CID293U