2011-02-07 47 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