From: "Francisco Pastor" 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: 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 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 > 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.