错误消息:“断言't = find_next_time_event(m)'在pulse / mainloop.c上失败了”?...(C ++)

时间:2015-01-31 12:01:49

标签: c++ codeblocks

好的,我正在使用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)

*我不会在这里放置代码,因为我只想了解理论上可以创建这种消息的信息。然后我会搜索,如果我发现错误的问题,我会在这里放一些代码;)*

2 个答案:

答案 0 :(得分:1)

它告诉您文件pulse / mainloop.c的第721行assertion失败,这是源代码的一部分。

断言通常用于检查不变量或前置条件/​​后置条件。以一个先决条件为例,这就是说"这个表达式必须是真的才能让下面的代码正常工作"。

通过检查条件(在mainloop.c的第721行)并了解为什么在您的情况下不正确,您应该能够在代码中找到导致断言失败的错误。

答案 1 :(得分:0)

这不是一个真正的解决方案,但这个问题实际上与PulseAudio有关。我假设OP正在使用Linux,可能是Ubuntu,这是发生此错误的时候。在使用Python编写的程序时,我有时会得到同样的东西。在PulseAudio Launchpad错误中存在一个关于此问题的着名错误。