2011-02-07 69 views
7

谁能解释这是什么设置意味着,和它做什么?xcode设置 - 链接地图文件的路径 - 它是什么?

编辑:谢谢你的答案。了解崩溃报告。让我问一下 - 链接映射文件对我的应用程序的执行有没有影响?

+1

号编译时间可能会略有走更长,但据我所知,你会得到完全相同的可执行文件。 – Dave 2011-02-07 21:46:42

回答

7

链接映射文件是一个文本文件,详细说明了数据,代码,等住你的可执行文件中。在程序崩溃时检查堆栈跟踪和检查内存非常方便。

只要问的Xcode使一个,然后在文本编辑或任何打开它。你会看到所有的方法名称和变量名称,以及地址。

如果您提交您的应用程序的应用程序商店,这是至关重要你保持你的地图文件,所以如果苹果管理崩溃您的应用程序,你会站在使得崩溃报告的头部或尾部的一个更好的机会。

3

只有当你生成链接地图相关。如果你看一下设置窗口的底部,当您选择路径链接映射文件它说:当写链接映射文件设置激活

此设置定义的路径,链接器写入的映射文件。默认情况下,将为每个体系结构和构建变体编写一个单独的文件,这些文件将在中间体目录中为其产品链接的目标生成。 [LD_MAP_FILE_PATH,-Map]

对于写链接映射文件它说:

启用此设置将导致链接写一个映射文件到硬盘里面详细介绍所有的符号及其地址输出图片。地图文件的路径由“链接地图文件路径”设置定义。 [LD_GENERATE_MAP_FILE,-map]

除非您正在开发嵌入式系统,否则有必要查看链接地图是非常不寻常的。

0

默认值是...

$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt

所以对于一个目标,叫AtoZ ...

.../DerivedData/AtoZ/Intermediates/AtoZ.build/Debug/AtoZ.build/AtoZ-LinkMap-normal-x86_64.txt

Sample output of such a file can be found here.

0

在你的目标构建设置确保Write Link Map File设置为YES