delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/03/24/04:51:00

From: "Francisco Pastor" <fpastor DOT etra-id AT etra DOT es>
Newsgroups: comp.os.msdos.djgpp
Subject: RE: Overrun error in gdb
Date: Fri, 24 Mar 2000 08:40:48 +0100
Organization: Telefonica Transmision de Datos
Lines: 75
Message-ID: <8bf64f$ihf$1@talia.mad.ttd.net>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1000322112450 DOT 17945n AT is>
NNTP-Posting-Host: ppp251.aimme.es
X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> escribió en el mensaje de noticias
Pine DOT SUN DOT 3 DOT 91 DOT 1000322112450 DOT 17945n AT is...
>
> On Tue, 21 Mar 2000, Francisco Pastor wrote:
>
> > I have made a program with djgpp that use serial port comunications with
> > interrupt handlers. The program work fine but when I run it with gdb
overrun
> > errors appear. That occur even with relative slow speed (2400 bps) in a
> > 100MHz 486 DX4.
>
> On what OS is this?  If it's DOS, please post here the contents of
> your CONFIG.SYS and AUTOEXEC.BAT.

The OS is MSDOS 6.22

CONFIG.SYS file:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS I=B000-B7FF
BUFFERS=25,0
FILES=80
DOS=UMB
LASTDRIVE=Z
FCBS=4,0
DOS=HIGH
COUNTRY=034,,C:\DOS\COUNTRY.SYS
DEVICEHIGH /L:1,15872 =C:\DOS\DISPLAY.SYS CON=(EGA,,1)
STACKS=9,256
DEVICEHIGH /L:1,4560 =C:\WINDOWS\IFSHLP.SYS
DEVICEHIGH /L:2,1248 =C:\RED\IPCUST.SYS
DEVICEHIGH /L:1,512 =C:\RED\IFCUST.SYS

AUTOEXEC.BAT file:

@ECHO OFF
PATH C:\DOS;C:\WINDOWS;C:\UTIL;C:\RED
PROMPT $p$g
SET TEMP=C:\TEMP
MODE CON CODEPAGE PREPARE=((850) C:\DOS\EGA.CPI)
MODE CON CODEPAGE SELECT=850
KEYB SP,,C:\DOS\KEYBOARD.SYS
DOSKEY/BUFSIZE=1024
LH /L:0;1,14432;2,106160 /S C:\WINDOWS\net start full

>
> Also, what version of GDB is that?
>
GNU gdb 4.18

> > My doubt is if gdb affect to DPMI interrupt management.
>
> Do the overruns happen even if you don't set any breakpoints in the
> debugged program?  That is, do you see the overruns when you do
> something like this:
>
>   gdb yourprog
>   r <put here any arguments needed by the program>
>
Ok, overrun appears without breakpoints

> GDB (well, actually the DJGPP debug support functions linked into
> GDB) hooks the timer and keyboard hardware interrupts, so it could
> theoretically slow down programs which use those, but it does nothing
> with the serial interrupt.  So, as long as you don't set any
> breakpoints, there should be no slow-down due to GDB, I think.
>
I possible cause of overruns is if timer or keyboard interrupt spends more
time than the interval between two interrupts in serial communication (but I
think that 4 miliseconds for 2400 bps is a long time) . My program also hook
the timer interrupt and I suppose that this replace the gdb handler.



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019