As said in the question, when I use plotY function (for first time or not) to plot data on a graph control, on an autoscaled axis.
I use labwindows/CVI 7.0 on win98 based machine. cvirte.dll version is 7.0.0.393
The program is fine. Every output value from preceeding graph related functions is checked for errors and warnings. Moreover, the debugger tells me that it is in an other thread that I can't access, and that it is impossible to locate faulty instruction in source code => bug is not in my code.
The main point is the fact that it crashes depending on the data that are inside the buffer !!
The data is frequency measurement, and it seems to be related to higher frequency : the autoscaling works fine with 2MHz, and crashed with 117-118 MHz (I dont have frequency generators in the middle of these two frequencies).
The program also works fine when the data buffer is filled with power measurements.
Other scale mode doesn't give any problem.
---------
The ploty function is made using the function panel. the data are inside an array defined as :
#define MAXDATA 100
....
double data[MAXDATA];
...
PlotY(.....,data,MAXDATA, ....); // or smthing like that
---------
The step by step execution crashes giving the following two messages :
NON-FATAL RUN-TIME ERROR: Unknown source position, thread id 0xFAA01355: Exception occurred in conditional breakpoint expression.
FATAL RUN-TIME ERROR: Unknown source position, thread id 0xFAA01355: The program has caused a 'General Protection' fault at 016F:00000009.
The first non fatal error is an other clue that indicate me that it is not my part of the code that is faulty : I don't have any breakpoints in my code.
---------
When I lauch the debugable executable apart from CVI I get the following from windows
IXL CEB_DBG a caus� une d�faillance de page dans
le module CVIRTE.DLL � 016f:685c0893.
Registres :
EAX=010d0f78 CS=016f EIP=685c0893 EFLGS=00010202
EBX=010d0f7c SS=0177 ESP=0066e5dc EBP=0066e5e4
ECX=3ffdc0c0 DS=0177 ESI=01160c78 FS=433f
EDX=00000000 ES=0177 EDI=00c2e000 GS=0000
Octets � CS : EIP :
f3 a5 ff 24 95 a8 09 5c 68 8b c7 ba 03 00 00 00
�tat de la pile :
00b9e304 010d3b20 0066e624 684c3f81 00b9e304 010d0f7c fffffffc 684c4600 010d0f7c 00b9e304 fffffffc 00000000 00000010 00b939fc 68603c24 010d0f78
---------
after rebooting and building a stand alone executable I get :
IXL CEB a caus� une d�faillance de page dans
le module CVIRTE.DLL � 016f:685c0893.
Registres :
EAX=0103ab7c CS=016f EIP=685c0893 EFLGS=00010202
EBX=0103ab80 SS=0177 ESP=005de430 EBP=005de438
ECX=3ffdc0bf DS=0177 ESI=010ca880 FS=40e7
EDX=00000000 ES=0177 EDI=00b9e000 GS=0000
Octets � CS : EIP :
f3 a5 ff 24 95 a8 09 5c 68 8b c7 ba 03 00 00 00
�tat de la pile :
00b0e300 0103d77c 005de478 684c3f81 00b0e300 0103ab80 fffffffc 684c4600 0103ab80 00b0e300 fffffffc 00000000 00000010 00b039fc 68603c24 0103ab7c
---------
Let me know if you need more information to help me.
I can provide full source code, but it requires hp53131 intrument for running, and is quite big ...
For the moment, I would be gratefull for giving me a sample of code properly doing autoscale.
Best regards
Pierre Mazein
Laboratoire IXL