好的,我正在使用CodeBlocks在C ++中进行编程。我有这样的"随机" (它不会每次都发生,而且我无法预测何时发生)错误信息会导致程序崩溃,它说:
Assertion 't = find_next_time_event( m )' failed at pulse/mainloop.c:721,
function calc_next_timeout() . Aborting .
Aborted (core dumped) .
Process returned 134 (0x86)
核心转储是我不应该删除一些指针,我是对的吗?
我不明白的是之前的事情" Aborted,core dumepd" 。它可以指导我做出哪种错误? 或者这是CodeBlocks的问题(我对此表示怀疑,但这可能很棒:p)
*我不会在这里放置代码,因为我只想了解理论上可以创建这种消息的信息。然后我会搜索,如果我发现错误的问题,我会在这里放一些代码;)*
答案 0 :(得分:1)
它告诉您文件pulse / mainloop.c的第721行assertion失败,这是源代码的一部分。
断言通常用于检查不变量或前置条件/后置条件。以一个先决条件为例,这就是说"这个表达式必须是真的才能让下面的代码正常工作"。
通过检查条件(在mainloop.c的第721行)并了解为什么在您的情况下不正确,您应该能够在代码中找到导致断言失败的错误。
答案 1 :(得分:0)
这不是一个真正的解决方案,但这个问题实际上与PulseAudio有关。我假设OP正在使用Linux,可能是Ubuntu,这是发生此错误的时候。在使用Python编写的程序时,我有时会得到同样的东西。在PulseAudio Launchpad错误中存在一个关于此问题的着名错误。