xcode设置 - 链接地图文件的路径 - 它是什么?

时间:2011-02-07 20:21:36

标签: xcode linker settings

任何人都可以解释这个设置的含义及其作用吗?

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

4 个答案:

答案 0 :(得分:7)

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

只要让Xcode制作一个,然后用textedit或其他任何东西打开它。您将看到所有方法名称和变量名称以及地址。

如果您将应用程序提交到应用程序商店,那么保留地图文件至关重要,因此如果Apple设法让您的应用程序崩溃,您将有更好的机会制作崩溃报告的头部或尾部。

答案 1 :(得分:3)

仅在生成链接映射时才相关。如果您在选择链接地图文件的路径时查看设置窗口的底部,则会显示:

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

对于写链接地图文件,它说:

激活此设置将使链接器将映射文件写入磁盘,该磁盘详细说明输出映像中的所有符号及其地址。映射文件的路径由“链接映射文件的路径”设置定义。 [LD_GENERATE_MAP_FILE,-map]

除非您正在使用嵌入式系统,否则有必要查看链接映射是相当不寻常的。

答案 2 :(得分: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.

答案 3 :(得分:0)

在目标版本设置中,请确保将Write Link Map File设置为YES