2011-05-04 79 views
1

换句话说,当八度音程崩溃时,我想生成一个真正的核心文件,而不是一个八度音核。默认情况下,倍频程捕捉信号并产生一个八度音核。但是,由于我的段错误发生在外部库的深处,八度 - 内核并不是特别有用。我希望有一种方法可以生成真正的核心,而无需主动更改八度音源代码。我怎样才能让八度不抓住sigsegv?

+0

这是否为您添加的扩展程序,您正在尝试调试? – Jmoney38 2011-05-09 16:59:05

+0

@ Jmoney38是的,但我相信问题最终出现在我正在使用的第三方库中。解释崩溃的情况有点困难。 – frankc 2011-05-10 18:49:03

+0

你是否试过用GDB编译你的扩展,然后用GDB调试八度?这可以让我们更清楚地看到这个问题。 – Jmoney38 2011-05-11 17:38:48

回答

2

大约10年前,这里的讨论是在这里举行的At nabble。当时的结论正是你所说的:为了改变中断和信号的处理方式,你必须对Octave的一些核心元素进行基本的重写。

看起来像一年后,同样的问题被提出,有人已经付出实际努力重写Octave的signal handling。我有同样的问题,因为我喜欢我的C/C++重写信号在我的程序退出之前如何处理清理,更接近地检查崩溃错误等。然而,看起来Octave仍然没有做得很好有了这个呢。在过去的一年里,我发现了其他几个人关于信号处理的讨论,但没有提供简单的界面,比如你所要求的。