如何使GCC打印有用的RUNTIME错误消息?

Ole*_*828 5 c++ gcc g++

#define荷兰国际集团_GLIBCXX_DEBUG力GCC搭上一大类在C++运行错误,如外的边界STL访问,无效迭代器等的

不幸的是,当错误发生时,打印的消息不是很有帮助.我知道如何打印回溯跟踪的功能,以及__FILE____LINE__与宏自己.

是否有一种简单的方法可以说服GCC这样做,或者指定一个函数/宏,以便在_GLIBCXX_DEBUG发生实际发生的错误时调用它?

jxh*_*jxh 3

我假设您的意思是您想要打印代码中使用上下文的消息,而不是 GCC 使用的某些内部头文件的文件名和行号。

似乎有一个宏,.../debug/macros.h所有检查代码都使用名为_GLIBCXX_DEBUG_VERIFY. 您可以修改它以满足您的需要。

编辑:乔纳森·韦克利指出所有检查都是致命的。