0

我有一个长时间运行的控制台应用程序,用C++ (Qt). 如果assert发生 - 我的应用程序崩溃非常糟糕。所以我需要知道什么断言失败了。我需要知道这一点,因为我必须找到并修复代码的错误部分。我怎样才能做到这一点?我不希望我的应用程序崩溃,但是如果断言失败导致崩溃 - 我想知道哪里出了问题。谢谢。:) PS:我可以log断言应用程序崩溃时的名称和位置吗?

PS2:发生的断言是内部的,例如 Qt 的。

4

1 回答 1

1

您可以使用命令行参数将输出重定向到文件

2>&1 | tee ~/console.txt 

这会将 stderr 和 stdout 复制到一个 txt 文件。Q_ASSERTS 打印到 stderr,因此您现在应该能够看到输出并诊断问题

于 2013-03-13T10:15:09.727 回答