DebugKit 是一个框架(Mac OS X)或一个静态的 Cocoa 库(iOS),其中包含我在任何语言或平台下都可能需要的有用调试工具。
在这个初始版本中,这个框架的函数用途是一个使用户能在十六进制和可打印的 ASCII 格式显示内存缓冲区内容的实用工具,类似于 hd 或 hexdump UNIX 工具。我发现这种类型的显示在处理网络协议或存储/从存储加载持久二进制数据时非常有价值。
hexDump 实用工具以简单的 Objective-C 函数的形式提供,但也有类别,以便轻松地将 NSData 和 NSString 对象输出而不需要从对象中提取底层二进制数据。
我希望其他开发者也能在他们的工作中发现这个实用工具很有用。
Chad Gibbons Nuclear Bunny Studios, LLC 六月,2012年
对于 iOS 项目
${BUILT_PRODUCTS_DIR}/usr/local/include
DebugKitLibrary
libDebugKitLibrary.a
直接使用 hexDump
显示字节数组
#import "DebugKit.h"
...
const char *str = "hello, world!";
NSLog(@"Dump:\n%@\n", hexDump(str, strlen(str)));
...
2012-06-27 15:23:32.002 otest[41823:403] Dump:
0000 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 hello, world!
使用 NSString+HexDump
类别
#import "DebugKit.h"
...
NSString *str = @"How now, brown cow.";
NSLog(@"Dump:\n%@\n", [str hexDump:NSUnicodeStringEncoding]);
...
2012-06-28 21:46:04.557 otest[81123:403] Dump:
0000 48 00 6f 00 77 00 20 00 6e 00 6f 00 77 00 2c 00 H.o.w. .n.o.w.,.
0010 20 00 62 00 72 00 6f 00 77 00 6e 00 20 00 63 00 .b.r.o.w.n. .c.
0020 6f 00 77 00 2e 00 o.w...