是否存在某种服务,我可以输入系统“枚举类型”(或类似)并获取所有可能值的列表?
使用gdb进行调试时遇到错误,快速获取错误名称会很好,而不必查看定义类型的头文件的相关头文件。
例如,OS X中的kern_return_t
类型在/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
...
答案 0 :(得分:4)
这是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"?