我遇到的问题是,我经常写的Mac应用程序突然退出,并为我提供了未知的退出代码33,并且没有任何进一步指示出错的地方。我已经搜索了33号的完整源代码,但我找不到任何东西(我希望有一行代码如exit(33)
)。
你能否告诉我如何追踪这个问题?有没有办法将断点设置为退出函数或类似的东西?
答案 0 :(得分:0)
进程退出代码没有预定义的含义。 C标准定义了EXIT_SUCCESS
和EXIT_FAILURE
而没有数值。在类Unix系统上,它们定义为0和1.Unix限制那些退出到无符号的8位整数,因此它们的范围从0到255,但每个退出代码的含义(成功除外0)取决于显影剂。
FreeBSD定义了sysexits(3) manpage中记录的几个值。但33号不在其中。
调试此问题的最佳方法是为各种exit
函数(exit
,_exit
设置断点,并查看它们被调用的时间和位置。
答案 1 :(得分:0)
问题是我的代码中有一个退出调用exit(12321)
,它在控制台中被报告为33.看来exit(int)
的状态参数不能是任意的 - 值。