Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个长时间运行的控制台应用程序,用C++ (Qt). 如果assert发生 - 我的应用程序崩溃非常糟糕。所以我需要知道什么断言失败了。我需要知道这一点,因为我必须找到并修复代码的错误部分。我怎样才能做到这一点?我不希望我的应用程序崩溃,但是如果断言失败导致崩溃 - 我想知道哪里出了问题。谢谢。:) PS:我可以log断言应用程序崩溃时的名称和位置吗?
C++ (Qt)
assert
log
PS2:发生的断言是内部的,例如 Qt 的。
您可以使用命令行参数将输出重定向到文件
2>&1 | tee ~/console.txt
这会将 stderr 和 stdout 复制到一个 txt 文件。Q_ASSERTS 打印到 stderr,因此您现在应该能够看到输出并诊断问题