5

是否存在某种服务,我可以在其中输入系统“枚举类型”(或类似的)并获取所有可能值的列表?

用gdb调试的时候遇到错误,最好能快速得到错误的名字,不用去查看定义类型的头文件的相关头文件。

例如kern_return_tOS X 中定义的类型/usr/include/mach/i386/kern_return.h基本上只包含一行内容(不包含):

typedef int     kern_return_t;

有效值在 中定义/usr/include/mach/kern_return.h,这是有道理的,但我永远记不起这条路,我想加快这个过程。

例子:

输入:kern_return_t

输出:

0 | KERN_SUCCESS
1 | KERN_INVALID_ADDRESS
2 | KERN_PROTECTION_FAILURE
3 | KERN_NO_SPACE
4 | KERN_INVALID_ARGUMENT
5 | KERN_FAILURE
6 | KERN_RESOURCE_SHORTAGE
7 | KERN_NOT_RECEIVER
8 | KERN_NO_ACCESS
9 | KERN_MEMORY_FAILURE
...
4

1 回答 1

7

这就是open -h为之而生的。我建议将它与-s然而结合起来,像这样:

$ open -s iOS -h kern_return
kern_return?
[0] cancel
[1] all

[2] /usr/include/mach/i386/kern_return.h
[3] /usr/include/mach/kern_return.h
[4] /usr/include/mach/machine/kern_return.h
[5] /System/Library/Frameworks/Kernel.framework/Headers/mach/i386/kern_return.h
[6] /System/Library/Frameworks/Kernel.framework/Headers/mach/kern_return.h
[7] /System/Library/Frameworks/Kernel.framework/Headers/mach/machine/kern_return.h

Which header(s) for "kern_return"?
于 2017-04-27T05:00:10.860 回答