[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::debug

Title:DEBUG
Notice:Updated locations for reporting QARs -- see note 834.1
Moderator:LOWFAT::DIETER
Created:Fri Jan 24 1986
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1868
Total number of notes:8200

1834.0. "Debugger...shows no source on breakpoint" by CSC32::COMULADA () Wed Feb 05 1997 12:55

Has anyone seen this occur or have any suggestions on
this.....

Thanks,

Felix

PROBLEM :       Using BASIC 3.7 on VAX VMS 6.1. 
Compiles with
BASIC/WARNINGS=NOINFO/LIST=.../LONG/DOUBLE/OBJECT=...
/DEBUG.
Links with /MAP/EXE=.../DEBUG/INCLUDE=... 
Application is 758 blocks in size.
She's not sure of number of lines or number of
subroutines.  All
subroutines are contained within the main source
module.  In the character
cell debugger, she's able to set break points on
routines that are called
from main early on in application without problem. 
If she sets a break
point on a later routine, the source does not come up
- no errors.  Also
noted that when this happens, the debugger states
that its set a break
point to a low line number like 13 or 15, instead of
a higher expected line
number in the thousands.  If she moves a problem
module up earlier in the
program, she's able to set a break point to it and
everyhting is normal.
 

It seems to be at the end of the application as if
there was some sort of limitation on number of
modules. Removeing the module problem still there and
module is ok if placed further up the line...


Suggestions or comments...

Felix
T.RTitleUserPersonal
Name
DateLines
1834.1SSPADE::ARSENAULTWed Feb 05 1997 13:183
I suspect you're running into the difficulties associated with debugging
optimized code.  I suggest you add the /NOOPTIMIZE qualifier to the BASIC
command line and then try debugging.
1834.2Debugger problemCSC32::COMULADAWed Feb 05 1997 16:2410
Thanks for the info. 

On V3.7 of Vax Basic, I don't see the qualifier
/Optimize, yet I can use the /noopt. I suspect its
the default.
	I tried using the /optimize switch and it 
errors out trying to optimize. Is this switch
available on the Vax Basic 3.7 or 3.8 (not alpha)??

Felix
1834.3VAX => no optimizationGIDDAY::GILLINGSa crucible of informative mistakesWed Feb 05 1997 17:216
  Felix,
    *VAX* Basic does not optimize at all, hence no qualifier. Are you sure all
  the modules were compiled with /DEBUG, on the executing system and the 
  source files are still in their original locations?

						John Gillings, Sydney CSC
1834.4/OPT is valid for VAX BASICTLE::HAYNESThu Feb 06 1997 07:407
Felix and John,

	The VAX BASIC compiler does optimize and accepts both /OPTIMIZE
	and /NOOPTIMIZE qualifiers.  The COMPILE command in immediate
	mode however does not accept either of these qualifiers.

Peter
1834.5WIBBIN::NOYCEPulling weeds, pickin' stonesThu Feb 06 1997 09:347
>  Also noted that when this happens, the debugger states
> that its set a break 
> point to a low line number like 13 or 15, instead of
> a higher expected line number in the thousands.

How many thousands?  Some of our compilers have had trouble
when line numbers exceed 65535 -- or perhaps even 32767.
1834.6DebuggerCSC32::COMULADAThu Feb 06 1997 09:4318
Thanks for the replies. 
I did find something in the release notes and I
wonder if this could be the problem. If so any ideas
on a workaround or if it will ever be changed....

V3.6, 3.7 and 3.8 release notes 


o  If a VAX BASIC program contains more than 32767
lines of code, the compiler will feed the debugger
incorrect source line information for the lines above
32767.


Comments or suggestions

Felix
          
1834.7SSPADE::SSPADE::HILDEMon Feb 10 1997 10:5814
> o  If a VAX BASIC program contains more than 32767
> lines of code, the compiler will feed the debugger
> incorrect source line information for the lines above
> 32767.

If this is the problem, and it sounds like it is, then there is no work
around, other than moving the modules around as you have noted or breaking
the code up into smaller modules.  The line number limitation, however,
would require a compiler fix...the debugger depends completely on the
compiler generated source line information.

Lon