how to make GCC print helpful RUNTIME error messages?
c++, g++, gcc
Solution
I assume you mean you want messages that print the context of use in your code, rather than the filename and line number of some internal header file used by GCC.
There appears to be a single macro in `.../debug/macros.h` that all the checking code uses called `_GLIBCXX_DEBUG_VERIFY`. You could modify it to suit your needs.
Edit: Jonathan Wakely points out that all checks are fatal.
Problem
`#define`ing `_GLIBCXX_DEBUG` forces GCC to catch a large class of runtime errors in C++, such as out-of-bounds STL access, invalid iterators, etc. Unfortunately, when the error happens, the message printed is not very helpful. I know how to print a backtrace with a function, and `__FILE__` and `__LINE__` with a macro myself. Is there an easy way to convince GCC to do that, or to specify a function/macro for it to call when the kind of errors that `_GLIBCXX_DEBUG` catches actually occur?