[comp.lang.pascal] Turbo Pascal, DOS runtime errors

mal@hjuxa.UUCP (LEACH) (07/22/89)

I can't for the life of me find this in the turbo manuals; but it must
be in there somewhere;  when I get a DOS runtime error in one of
my turbo pascal programs it generally looks something like (from memory):

Dos Error 102 at 4380:2048

What I cannot figure out is how to get into turbo debugger and find
out what line of source code corresponds to 4380:2048.  Does anyone
know how to get to that line of code?

Thanks
-- 
Michael A. Leach  uucp:  {decvax,clyde,rutgers,decuac}!hjuxa!mal
		  email: mal%hjuxa.unx.dec.com@decwrl.dec.com
		  	 leach%unxa@decwrl.dec.com
		  voice: (201) 577-6013 (day)     (201) 905-2115 (night)

leonard@bucket.UUCP (Leonard Erickson) (07/30/89)

mal@hjuxa.UUCP (LEACH) writes:

>Dos Error 102 at 4380:2048

>What I cannot figure out is how to get into turbo debugger and find
>out what line of source code corresponds to 4380:2048.  Does anyone
>know how to get to that line of code?

You don't use the *debugger*, you use the compiler! Under compiler
options in the IDE you'll have Find Runtime Error option. However,
if you are a bit short of memory it'll report "Error not found". In
this case use the commandline compiler.
	TPC filename /F4380:2048
it'll show the line and and give the line #  

-- 
Leonard Erickson		...!tektronix!reed!percival!bucket!leonard
CIS: [70465,203]
"I'm all in favor of keeping dangerous weapons out of the hands of fools.
Let's start with typewriters." -- Solomon Short

madd@bu-cs.BU.EDU (Jim Frost) (07/31/89)

In article <1564@hjuxa.UUCP> mal@hjuxa.UUCP (LEACH) writes:
>when I get a DOS runtime error in one of
>my turbo pascal programs it generally looks something like (from memory):
>
>Dos Error 102 at 4380:2048
>
>What I cannot figure out is how to get into turbo debugger and find
>out what line of source code corresponds to 4380:2048.  Does anyone
>know how to get to that line of code?

One of the compilation options is to stop compilation and leave the
cursor on the source at a particular code address.  I believe this
option exists for TPascal 3.0 and am certain it exists in 4.0 and
later.  Since you mention the debugger I'm assuming you have 5.0.
Poke around in the compilation options menu and you should find it.

The kind of error which you're experiencing I try to trap using the
$i- compilation directive; compile your program with that and check
ioresult after any command that could fail (the manual lists them
somewhere, in addition to some source fragments showing how to use
ioresult).  Your program can then warn you any way you like and you
won't have to worry about it again.

jim frost
software tool & die
madd@std.com