List Info

Thread: Complex location




Complex location
user name
2007-01-18 10:19:26
Hi

Gdb (6.5) often just says:

(gdb) info scope Inos.cpp:556
Scope for Inos.cpp:556:
Symbol this is a variable with complex or multiple locations
(DWARF2), length 4.
Symbol var1 is a variable with complex or multiple locations
(DWARF2), length 4.
Symbol var2 is a variable with complex or multiple locations
(DWARF2), length 4.

However how can this be complex?

void CClass:oIt()
{
	CObject* var1=(CObject*)0x12345678;
	CObject* var2=(CObject*)0x23232323;
...

Shouldn't gdb be able to say something like "variable
on stack at offset 0x10" or
something along this?

The only thing I could find is:
ht
tp://sourceware.org/ml/gdb/2003-07/msg00243.html

"In general, we need a location expression
pretty-printer - this is
quite complicated, so no one's done it yet."

Seems like that is still the case, is that correct?

Thanks

Bye   Fabi



Re: Complex location
user name
2007-01-18 10:32:41
On Thu, Jan 18, 2007 at 05:19:26PM +0100, Fabian Cenedese
wrote:
> Hi
> 
> Gdb (6.5) often just says:
> 
> (gdb) info scope Inos.cpp:556
> Scope for Inos.cpp:556:
> Symbol this is a variable with complex or multiple
locations (DWARF2), length 4.
> Symbol var1 is a variable with complex or multiple
locations (DWARF2), length 4.
> Symbol var2 is a variable with complex or multiple
locations (DWARF2), length 4.
> 
> However how can this be complex?

Ask the compiler.  It probably moves from one register to
another at
some point in the life of the function.

> "In general, we need a location expression
pretty-printer - this is
> quite complicated, so no one's done it yet."
> 
> Seems like that is still the case, is that correct?

Yes.  I know this bugs Jim too 

-- 
Daniel Jacobowitz
CodeSourcery

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )