Date: Wed, 9 May 2001 13:57:53 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: ywshei cc: djgpp AT delorie DOT com Subject: Re: GPF after a litte bit of running time. In-Reply-To: <9dadkk$fg0$1@gemini.ntu.edu.tw> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 9 May 2001, ywshei wrote: > Any one has this experice of run a program compiled by DJGPP as you > running a peroid about ten seconds, then RMCB GPF cccured > The dump message are as the following > Page Fault cr2=1013bf84 in RMCB at eip=13bf84; flags=3002 > eax=00000001 ebx=000010c0 ecx=00000000 edx=0013592e esi=0000142a edi=0000234c > ebp=00000000 esp=00002318 cs=a7 ds=3b es=33 fs=33 gs=0 ss=33 error=0004. This message comes from CWSDPMI, the DPMI server used by DJGPP programs when they run on plain DOS. It usually means that your program hooked some hardware interrupt, but failed to lock memory touched by the interrupt handler. This is an absolute no-no in the protected-mode enviroment which used virtual memory, because paging should never happen inside an interrupt handler. See section 12.2 of the DJGPP FAQ list for more details. The "eip=13bf84" part tells you where is the code which tried to access unlocked memory. If you want to convert that to something humanly readable, type "gdb program.exe", where program.exe is your program, and at GDB's prompt type "list *0x13bf84". GDB will list the source lines around the point of crash.