From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,86f12c6cc81fafe X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news1.google.com!news.germany.com!news.tu-darmstadt.de!newsfeed.hanau.net!noris.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail Newsgroups: comp.lang.ada Subject: Re: exception access violation From: Georg Bauhaus In-Reply-To: <1163446297.630444.280740@b28g2000cwb.googlegroups.com> References: <1163446297.630444.280740@b28g2000cwb.googlegroups.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: # Message-ID: <1163453752.8475.3.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Date: Mon, 13 Nov 2006 22:35:52 +0100 NNTP-Posting-Date: 13 Nov 2006 23:33:12 CET NNTP-Posting-Host: 2af1f7ea.newsspool2.arcor-online.net X-Trace: DXC=3o?H[2XMf11kUFX=Y?aLP;A9EHlD;3Yc24Fo<]lROoR1Fl8W>\BH3Y25Z\`^SC`HM;A:ho7QcPOV3FBjTlHAmQ0;O9f=lFKeG]9 X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.ada:7435 Date: 2006-11-13T23:33:12+01:00 List-Id: On Mon, 2006-11-13 at 11:31 -0800, Jade wrote: > Hi, > I am compiling a program with gnat gps and I am receiving an access > violation error. And my program crashes at this point. > > Exception raised > >>> Exception Name => PROGRAM_ERROR > >>> Exception Message => EXCEPTION_ACCESS_VIOLATION > Does anyone know what this could mean? Could be related to memory access via the operation system, GNAT experts might be able to tell. This will be easier to say if you post some code. This excerpt is from seh_init.c, which you can find in ${GNAT_DIR}/.../adainclude/ switch (ExceptionRecord->ExceptionCode) { case EXCEPTION_ACCESS_VIOLATION: /* If the failing address isn't maximally-aligned or if the page before the faulting page is not accessible, this is a program error. */ if ((ExceptionRecord->ExceptionInformation[1] & 3) != 0 || IsBadCodePtr ((void *)(ExceptionRecord->ExceptionInformation[1] + 4096))) { exception = &program_error; msg = "EXCEPTION_ACCESS_VIOLATION"; } else { /* otherwise it is a stack overflow */ exception = &storage_error; msg = "stack overflow (or erroneous memory access)"; } break; -- Georg