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

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