擅长:python、mysql、java
<p>这看起来像是一个相当长的堆栈,一些被调用的函数看起来是一样的。(例如,<code>g_signal_emit</code>通过<code>g_closure_invoke</code>从自身重复调用。)</p>
<p>在我看来,你可能导致了堆栈溢出,可能是因为你在回调函数中发出了一个处理信号的信号,从而无限递归,直到你用完堆栈空间并崩溃。这只是一个猜测,我对GTK+/GLIB的内部结构了解不多,但我觉得这就是它的味道。我会花钱买的。:-)</p>
<p>如果不是这样,那么GLIB闭包可能被链接得太多(一个回调调用另一个回调调用另一个回调等,直到空间用完为止),也许调整堆栈大小会有所帮助。(我不记得是否有一个简单的方法来完成<code>main()</code>,但如果您要创建一个新线程,<code>pthread_attr_setstacksize()</code>可能会有帮助。)</p>