Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Debugging static variable in inlined member function
@ 2007-01-08 15:55 Peng Yu
  2007-01-08 17:58 ` Daniel Jacobowitz
  0 siblings, 1 reply; 2+ messages in thread
From: Peng Yu @ 2007-01-08 15:55 UTC (permalink / raw)
  To: gdb

Hi,

I have the following program listed below this email. I can not print
_a in the inlined version. But it is OK to print _a in the non-inlined
version. Can you tell me how to debug the inlined version of _a?

(gdb) s
main () at main.cc:32
32        std::cout << a.a() << std::endl;
(gdb) s
A::a (this=0xbff21077) at main.cc:11
11            std::cout << "inline" << std::endl;
(gdb) n
inline
12            ++ _a;
(gdb) p _a
No symbol "_a" in current context.

Thanks,
Peng

#include <iostream>

#define INLINE

class A {
  public:
    A() { }
#ifdef INLINE
    int a() {
      static int _a = 10;
      std::cout << "inline" << std::endl;
      ++ _a;
      return _a;
    }
#else
    int a();
#endif
  private:
};

#ifndef INLINE
int A::a() {
  static int _a = 10;
  std::cout << "not inline" << std::endl;
  ++ _a;
  return _a;
}
#endif

int main() {
  A a;
  std::cout << a.a() << std::endl;
}


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Debugging static variable in inlined member function
  2007-01-08 15:55 Debugging static variable in inlined member function Peng Yu
@ 2007-01-08 17:58 ` Daniel Jacobowitz
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Jacobowitz @ 2007-01-08 17:58 UTC (permalink / raw)
  To: Peng Yu; +Cc: gdb

On Mon, Jan 08, 2007 at 09:55:31AM -0600, Peng Yu wrote:
> Hi,
> 
> I have the following program listed below this email. I can not print
> _a in the inlined version. But it is OK to print _a in the non-inlined
> version. Can you tell me how to debug the inlined version of _a?

GDB support for inlined functions is known to be poor.  GCC's debug
info for inlined functions also has some problems.  There is not much
you can do to work around that.

-- 
Daniel Jacobowitz
CodeSourcery


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-01-08 17:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-08 15:55 Debugging static variable in inlined member function Peng Yu
2007-01-08 17:58 ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox