Delphi – What do I do when the program crashes with exception 0xc0000005 at address 0

crashdebuggingdelphi

My Delphi program runs as an NT service and has been running fine for more than 2 months and then it stops suddenly and generates a crash dump:

Faulting application name: tca_shctisvc_ip.exe, version: 7.1.0.1843, time stamp: 0x2a425e19 Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 Exception code: 0xc0000005 Fault offset: 0x00000000

There were no real addresses to work from based on information in the Windows event log. I was able to load the mini dump into WinDbg and it said there was an exception but found problems with the stack frames. A different tool (Viewminidump) was able to show me stacks of the running threads.

Where do I begin to resolve this issue?

Best Answer

Exception code 0xc0000005 is an Access Violation. An AV at fault offset 0x00000000 means that something in your service's code is accessing a nil pointer. You will just have to debug the service while it is running to find out what it is accessing. If you cannot run it inside a debugger, then at least install a third-party exception logger framework, such as EurekaLog or MadExcept, to find out what your service was doing at the time of the AV.

Related Topic