dsymutil - 操作封存的 DWARF 除錯符號檔案

語法

dsymutil [選項] 可執行檔

說明

dsymutil 會使用可執行檔 可執行檔 符號表中包含的除錯符號資訊,連結在該可執行檔的物件檔案中找到的 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 格式傾印 可執行檔 的除錯映射(包含除錯資訊的物件檔案清單)並退出。不會進行 DWARF 連結。

-D <path>

指定一個包含要搜尋的 dSYM 檔案的目錄。這用於可合併的程式庫,因此 dsymutil 知道在哪裡可以找到包含這些程式庫中存在的符號除錯資訊的 dSYM 檔案。

--fat64

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

--flat, -f

產生單一 dSYM 檔案。除非使用 -o 選項指定輸出檔案,否則會在可執行檔名稱後附加 .dwarf 副檔名。

--gen-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-odr

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

--no-output

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

--no-swiftmodule-timestamp

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

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

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

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

在處理之前重新映射物件檔案路徑(但不是原始程式碼路徑)。將此用於使用 -fdebug-prefix-map 重新映射模組快取位置的 Clang 物件;以協助 dsymutil 找到 Clang 模組快取。

--oso-prepend-path <path>

指定要預先附加到所有偵錯符號物件檔案路徑的 路徑

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

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

-q, --quiet

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

--remarks-drop-without-debug

刪除沒有有效偵錯位置的註解。如果沒有這個旗標,所有註解都會被保留。

--remarks-output-format <format>

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

--remarks-prepend-path <path>

指定要預先附加到外部註解檔案路徑的目錄。

--reproducer <mode>

指定重現器產生模式。有效的選項有「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=Use 的別名。

--verbose

連結時顯示詳細資訊。

--verify

在連結的 DWARF 除錯資訊上執行 DWARF 驗證器。

-v, --version

顯示工具的版本。

-y

將 *可執行檔* 視為 YAML 除錯映射,而不是可執行檔。

結束狀態

如果 DWARF 除錯資訊已成功連結,則 dsymutil 會傳回 0。否則,它會傳回 1。

另請參閱

llvm-dwarfdump(1)