0

我遇到的问题是,我经常编写的 Mac 应用程序突然退出,出现一个未知的退出代码 33,并且没有任何进一步的迹象表明出了什么问题。我已经搜索了数字 33 的整个源代码,但我找不到任何东西(我希望有一行代码,例如exit(33))。

你能给我任何提示我如何追踪这个问题吗?有没有办法例如在退出函数或类似的东西中设置断点?

4

2 回答 2

0

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

FreeBSD 定义了一些值,如sysexits(3) 联机帮助页中所述。但33号不在其中。

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

于 2013-01-14T18:58:01.900 回答
0

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

于 2013-01-15T08:32:59.330 回答