dsymutil - 處理封存的 DWARF 偵錯符號檔案

概要

dsymutil [options] executable

描述

dsymutil 透過使用可執行檔 executable 的符號表中所包含的偵錯符號資訊,連結在可執行檔 executable 的物件檔中找到的 DWARF 偵錯資訊。預設情況下,連結的偵錯資訊會被放置在與可執行檔同名的 .dSYM 捆綁包中。

選項

--accelerator=<accelerator type>

指定所需的加速器表類型。有效選項為 ‘Apple’、‘Dwarf’、‘Default’ 和 ‘None’。

--arch <arch>

僅連結指定 CPU 架構類型的 DWARF 偵錯資訊。架構可以使用名稱指定。當使用此選項時,如果任何架構無法正確連結,將會返回錯誤。此選項可以多次指定,每次指定一個所需的架構。預設情況下,將會連結所有 CPU 架構,且任何無法正確連結的架構都會導致 dsymutil 返回錯誤。

--build-variant-suffix <suffix=buildvariant>

指定用於建置可執行檔的建置變體後綴。產品的二進制檔案可能有多個變體,每個變體的建置方式略有不同。最常見的建置變體是 ‘debug’ 和 ‘profile’。設定 DYLD_IMAGE_SUFFIX 環境變數將導致 dyld 在運行時載入指定的變體。

--dump-debug-map

以 YAML 格式轉儲 executable 的 debug-map (包含偵錯資訊的物件檔列表) 並退出。不會執行 DWARF 連結。

-D <path>

指定一個包含 dSYM 檔案的目錄以供搜尋。這用於可合併的函式庫,以便 dsymutil 知道在哪裡尋找包含關於這些函式庫中符號的偵錯資訊的 dSYM 檔案。

--fat64

在發出通用二進制檔案時使用 64 位元標頭。

--flat, -f

產生扁平的 dSYM 檔案。除非使用 -o 選項指定輸出檔案,否則 .dwarf 擴展名將會附加到可執行檔名稱。

--gen-reproducer

產生一個由輸入物件檔組成的 reproducer。是 –reproducer=GenerateOnExit 的別名。

--help, -h

印出此幫助輸出。

--keep-function-for-static

即使靜態變數原本會被省略,也使其保留封閉函式。

--minimize, -z

當在建立 dSYM 檔案時使用時,此選項將會抑制 .debug_inlines、.debug_pubnames 和 .debug_pubtypes 區段的發出,因為 dsymutil 目前有更好的等效項:.apple_names 和 .apple_types。當與 --update 選項結合使用時,此選項將導致移除多餘的加速器表。

--no-object-timestamp

不要檢查物件檔的時間戳記。

--no-odr

不要使用 ODR (單一定義規則) 來唯一化 C++ 類型。

--no-output

在記憶體中執行連結,但不發出結果檔案。

--no-swiftmodule-timestamp

不要檢查 swiftmodule 檔案的時間戳記。

--num-threads <threads>, -j <threads>

指定連結多個架構時要使用的最大同時執行緒數 (n)。

--object-prefix-map <prefix=remapped>

在處理之前重新映射物件檔路徑 (但不重新映射原始碼路徑)。用於 Clang 物件,其中模組快取位置已使用 -fdebug-prefix-map 重新映射;以幫助 dsymutil 找到 Clang 模組快取。

--oso-prepend-path <path>

指定要前置於所有偵錯符號物件檔路徑的 path

--out <filename>, -o <filename>

指定放置 dSYM 捆綁包的替代 path。預設 dSYM 捆綁包路徑是透過將 .dSYM 附加到可執行檔名稱來建立的。

-q, --quiet

啟用安靜模式並限制輸出。

--remarks-drop-without-debug

捨棄沒有有效偵錯位置的備註。如果沒有此旗標,則會保留所有備註。

--remarks-output-format <format>

指定序列化連結備註時要使用的格式。

--remarks-prepend-path <path>

指定一個目錄,以將其路徑前置於外部備註檔案的路徑之前。

--reproducer <mode>

指定 reproducer 產生模式。有效選項為 ‘GenerateOnExit’、‘GenerateOnCrash’、‘Use’、‘Off’。

--statistics

印出關於每個物件檔對連結偵錯資訊的貢獻的統計資訊。這會在連結後印出一個表格,其中包含物件檔名稱、物件檔中偵錯資訊的大小 (以位元組為單位) 以及對連結的 dSYM 的貢獻大小 (以位元組為單位)。該表格依輸出大小排序,首先列出貢獻最大的物件檔。

-s, --symtab

轉儲在可執行檔或物件檔中找到的符號表並退出。

-S

輸出文字組合語言,而不是二進制 dSYM 伴隨檔案。

--toolchain <toolchain>

將工具鏈嵌入 dSYM 捆綁包的屬性列表。

-u, --update

更新現有的 dSYM 檔案,以包含最新的加速器表和其他 DWARF 優化。此選項將重建 ‘.apple_names’ 和 ‘.apple_types’ 哈希加速器表。

--use-reproducer <path>

使用給定 reproducer 路徑中的物件檔。是 –reproducer=Use 的別名。

--verbose

連結時顯示詳細資訊。

--verify

在連結的 DWARF 偵錯資訊上運行 DWARF 驗證器。

-v, --version

顯示工具版本。

-y

executable 視為 YAML debug-map 而不是可執行檔。

結束狀態

dsymutil 在 DWARF 偵錯資訊成功連結時返回 0。否則,它返回 1。

另請參閱

llvm-dwarfdump(1)