LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

CVI 8.5.1 App General Protection Fault Under 9.0 Run-Time Engine

I have a CVI application that performs a malloc() followed by a memcpy(). This application was built using CVI 8.5.1.

 

When the application runs under the CVI 8.5.1 Run-Time Engine, everything works correctly. However, when the application runs under the CVI 9.0 Run-Time Engine, the memcpy() call causes a General Protection Fault.

 

When I try to debug the application in CVI 8.5.1 (with the CVI 9.0 Run-Time Engine), both pointers appear to have a valid address when the application breaks due to the GPF. However, when running the app standalone, the Microsoft Debugging Tools for Windows shows that the GPF was caused by the assembly instruction mov edx, dword ptr [eax] (or something very similar) where the contents of the eax register is 0.

 

I thought Run-Time Engines were supposed to be backwards-compatible, so is anyone aware of any differences between these two Run-Time Engines that would affect malloc() and/or memcpy()?

0 Kudos
Message 1 of 2
(2,926 Views)

Can you pare down your application to something simple that reproduces the GPF? Does the program also crash if you build it in Release configuration? We will probably need you to post a version of your project that can reproduce this problem reliably in order to figure out what is happening.

 

Mert A.

National Instruments

0 Kudos
Message 2 of 2
(2,921 Views)