错误代码包含在提供的vmmap.c中,对应书中第460页(中文版417页),这部分代码的功能是把属性一致的连续内存段合并后输出,但把info.shared != prev_info.shared写成了info.shared != prev_info.reserved,结果导致错误的把属性不一致的内存段进行了合并。
图1 Mac OS X and iOS Internals书中的代码截图
另外,671K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3&6W2N6$3!0K6P5r3u0G2L8$3E0Q4x3X3g2U0L8$3#2Q4x3V1k6Q4c8e0N6Q4b7V1c8Q4z5e0q4Q4c8e0N6Q4b7f1u0Q4z5e0W2Q4c8e0k6Q4z5p5k6Q4z5e0m8Q4c8e0c8Q4b7V1g2Q4z5f1u0Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0c8Q4b7V1u0Q4b7e0y4Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0W2Q4z5e0c8Q4z5e0W2Q4c8e0S2Q4b7f1k6Q4b7f1k6Q4c8e0k6Q4z5f1u0Q4b7U0c8Q4c8e0g2Q4b7e0c8Q4z5f1q4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7V1c8Q4z5e0y4S2k6r3c8J5k6i4y4K6i4@1x3J5i4@1p5H3i4K6t1$3k6%4c8Q4x3@1u0Q4x3@1c8Q4b7K6u0Q4b7e0l9H3P5o6b7H3x3o6l9H3x3o6l9H3i4@1f1%4i4K6W2m8i4K6R3@1M7X3g2@1N6i4u0F1i4@1f1@1i4@1u0o6i4K6W2m8i4@1f1#2i4@1q4r3i4@1u0o6i4@1f1^5i4K6R3%4i4@1t1@1i4@1f1$3i4K6W2o6i4K6R3H3i4@1f1#2i4K6V1H3i4K6S2q4i4@1f1@1i4@1t1^5i4K6R3H3i4@1f1#2i4K6W2p5i4K6V1%4i4@1f1#2i4K6R3$3i4K6R3#2i4@1f1#2i4@1q4p5i4K6V1^5i4@1f1@1i4@1u0r3i4@1p5I4i4@1f1$3i4K6R3I4i4@1q4r3i4@1f1@1i4@1t1^5i4K6S2p5i4@1f1@1i4@1u0o6i4K6W2m8i4@1f1^5i4@1p5J5i4@1q4n7i4@1f1^5i4@1u0q4i4K6V1K6i4@1f1#2i4K6R3%4i4@1u0m8i4@1f1K6i4K6R3H3i4K6R3J5
图2 c21K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3&6W2N6$3!0K6P5r3u0G2L8$3E0Q4x3X3g2U0L8$3#2Q4x3V1k6Q4c8e0N6Q4b7V1c8Q4z5e0q4Q4c8e0N6Q4b7f1u0Q4z5e0W2Q4c8e0k6Q4z5p5k6Q4z5e0m8Q4c8e0c8Q4b7V1g2Q4z5f1u0Q4c8e0N6Q4z5f1q4Q4z5o6c8$3L8h3#2S2M7q4)9J5k6h3y4Q4c8e0k6Q4b7V1q4Q4z5e0m8Q4c8e0N6Q4b7e0m8Q4z5o6p5`.
关于Mac OS X和IOS系统底层的书籍还不是很多,这本书的质量整体还是不错的,但这种低级错误一直没有被发现可能说明实际用到这本书中内容的人还不是很多吧。