【发布时间】:2013-04-15 12:36:51
【问题描述】:
有没有可能,如果有,你会如何让错误输出包含最后几行代码?我知道 GNU g++ 对 __LINE__ 和 __FUNC__ 的支持,但它们只将行号作为 int 和函数名作为字符串给出 - 我想转储失败的代码或至少最后几个命令的函数由程序执行。
我在想也许可以编写一个 m4 脚本来解析代码库并注入它们所放入函数的字符串结构(当然不包括它们自己)。
还有其他/更好的想法吗?
【问题讨论】:
-
“转储失败的函数代码”是什么意思?这不是
__func__(或 GCCs__FUNCTION__)所做的,给你函数名吗?你想要函数调用栈吗? -
我想输出函数本身的完整代码,或者至少在捕获错误之前执行的几行代码,而不仅仅是它的名称。
-
所以你想实现一个可以自己调试的调试器?
-
我想这是一种表达方式。
标签: c++ error-handling gnu output m4