This is the mail archive of the
mailing list for the GDB project.
Re: Lifetime of local variables
On Sat, Apr 13, 2002 at 08:52:21PM +0200, Martin Baulig wrote:
> Daniel Jacobowitz <firstname.lastname@example.org> writes:
> > On Sat, Apr 13, 2002 at 01:31:05PM +0200, Martin Baulig wrote:
> > > Daniel Jacobowitz <email@example.com> writes:
> > > > Also, I believe that this should be entirely subsumed by .debug_loc.
> > > > The first variable's value may no longer be available, but it has not
> > > > actually gone out of scope, has it? We should list it but claim that
> > > > its value is unavailable.
> > >
> > > It has actually gone out of scope. I want to use this to debug machine
> > > generated IL code and the JIT may want to create local variables
> > > on-the-fly. For variables which have actually been defined by a human
> > > programmer, listing them and claiming that their value is no longer
> > > available is IMHO the right thing to do - but I'd like to tell the
> > > debugger to make a machine-generated variable disappear when it's no
> > > longer used, otherwise you'd get a large number of automatic variables
> > > (having numbers, not names, which makes it even more confusing to the
> > > user) and only a very few of them are actually used.
> > What business does the JIT have actually creating local variables
> > (rather than temporaries, which don't get names)? I don't understand.
> What's the difference between a local variable and a temporary variable ?
There's no reason for temporaries to have names, or to appear in debug
info at all. I don't see why you need them.
> > > Btw. are there any plans to implement .debug_loc anytime soon, I need
> > > this for something else ?
> > I believe it's in progress.
> Well, this is probably the correct place to put this (and then use
> DW_AT_artificial or something like this to make the variables
> disappear outside their lifetime).
Sounds good to me.
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer