如何识别未知的退出代码?

时间:2013-01-14 15:45:04

标签: xcode macos exit

我遇到的问题是,我经常写的Mac应用程序突然退出,并为我提供了未知的退出代码33,并且没有任何进一步指示出错的地方。我已经搜索了33号的完整源代码,但我找不到任何东西(我希望有一行代码如exit(33))。

你能否告诉我如何追踪这个问题?有没有办法将断点设置为退出函数或类似的东西?

2 个答案:

答案 0 :(得分:0)

进程退出代码没有预定义的含义。 C标准定义了EXIT_SUCCESSEXIT_FAILURE而没有数值。在类Unix系统上,它们定义为0和1.Unix限制那些退出到无符号的8位整数,因此它们的范围从0到255,但每个退出代码的含义(成功除外0)取决于显影剂。

FreeBSD定义了sysexits(3) manpage中记录的几个值。但33号不在其中。

调试此问题的最佳方法是为各种exit函数(exit_exit设置断点,并查看它们被调用的时间和位置。

答案 1 :(得分:0)

问题是我的代码中有一个退出调用exit(12321),它在控制台中被报告为33.看来exit(int)的状态参数不能是任意的 - 值。