Command flags for debugging template code

John Love-Jensen eljay@adobe.com
Tue Mar 27 11:58:00 GMT 2007


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



More information about the Gcc-help mailing list