It would be great to directly infer the variables that made a condition fail, and print them without the need to specify them to the macro:
DBG_ASSERT(x + y > z), DBG_TAG(x), DBG_TAG(y), DBG_TAG(z);
where x, y and z would be automatically inferred. I know it is possible, because you can do it manually with GDB, but it probably requires a lot of effort. If you get it, I would suggest including the library in the Boost framework.