Hi Wendy,
This doesn't seem to necessarily be true 100% of the time. My CVI app in question runs as a true NT service, directly answering to start/stop events from the NT service control manager. There is no gui, so I write entries into the NT event log to indicate when it started up, when it was fully operational, log critical shutdown situations, debugging messages, etc. I've written several of these. Always works like a champ, too. Perhaps the sandbox that the OS puts the service into causes the offset to be strange?
If my CVI application crashes, the offset that is logged to the NT event log is below the preferred base address--in some cases way below the base (which I always leave set to the default). Since the app is running as a service I have a lot harder time debugging it. Sometimes the best I can do is to log informational events every few lines and see what was logged immediately before the crash. This generates way too much data and disk I/O if the app takes one or more days to finally crash. But in return for running as a service, I get maximum performance and the system is operational immediately after the computer boots up. In some cases, this is hours or days before a person even comes over to logon to the server.
So, anyway, here is the offsets that I see from time to time. Perhaps you can help me to make sense of them:
Faulting modules:
-FieldPoint.dll, version 4.1.0.15, fault address 0x00084af6
-cvirte.dll, version 7.1.0.306, fault address 0x001a3dc4
-cvirte.dll, version 7.1.0.306, fault address 0x000a43b4
If I knew what function was being called in cvirte.dll, I might be able to isolate what section of my code is calling the function, and ultimately fix the problem. As it stands now, all I know is that something happened but not 'whodunnit' or why.
Thanx for your time,
Orlan