1

是否有可能,如果是这样,您将如何使错误输出包含最后几行代码?我知道 GNU g++ 对 and 的支持__LINE____FUNC__但那些只将行号作为 int 和函数名作为字符串给出 - 我想转储失败的函数的代码或至少程序执行的最后几个命令。

我在想也许可以编写一个 m4 脚本来解析代码库并注入它们所放入函数的字符串结构(当然不包括它们自己)。

还有其他/更好的想法吗?

4

1 回答 1

1

根本不要更改您的代码。使用__LINE____FUNC__后处理错误输出。也就是说,在可以访问您的代码库并可以生成所需文本的my-prog > $(tty) 2>&1 | post-process地方运行您的程序。post-process您可能希望通过添加标记来稍微修改代码,以便后处理更容易找到函数名称和行号。

于 2013-05-17T12:10:43.057 回答