0

我有一些最近在 Linux 上编译的遗留 C 代码。在原始 HPUX 上,应用程序打开和关闭多个 curses 窗口。在 Linux 机器上,它可以处理一个窗口,但如果我关闭该窗口,它会使程序崩溃,并显示“已中止”的错误消息。有任何想法吗?

4

3 回答 3

3

是的。使用ulimit(1)更改您的选项,以便在它中止时保存核心转储。然后使用gdb(1)查看核心转储,找出它在哪里中止并回复我们。

于 2009-04-27T21:03:01.983 回答
2

鉴于对查理·马丁回应的评论,您似乎没有打开窗口,然后关闭了一个未打开的窗口,结果非常显着。查看 Curses 初始化函数和窗口打开调用的返回码。

于 2009-04-27T21:46:10.070 回答
0

发现是 touchwin 命令导致它失败。删除那行代码似乎没有负面影响。:-) 谢谢大家的帮助。到处投票。

于 2009-04-30T15:58:02.440 回答