This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Command flags for debugging template code


Hi Stephen,

One of the problems with debugging (depending on the debugger and
environment) is break points with inline functions.

To give me a debug-able spot I can drop a breakpoint on, I've done this
before:

// --- Fruit.h ---
void EljayBreakpoint();

class Fruit
{
public:

  template <typename Basket>
  void print_Contents(Basket* container_ptr)
  {
    EljayBreakpoint();
    std::cout << container_ptr->dump() << std::endl;
  }
};

// --- Fruit.cpp ---
#include "Fruit.h"
void EljayBreakpoint()
{
  std::cerr << "EljayBreakpoint: you are here\n";
}

And then I set the breakpoint inside EljayBreakpoint.

I now realize I haven't needed to do this trick in many years.  So either
the debuggers are better on the platforms I'm using and can sensically step
into inline functions, or I'm making less boo-boos.

HTH,
--Eljay


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]