Ubuntu

誰能解釋一下 dbgsym 包是什麼?

  • August 3, 2022

在為我的基於 debian 的 Linux 系統下載 Mysql Workbench 時,我遇到了兩個包,有人可以解釋它們的不同之處嗎?

第一個被稱為mysql-workbench-community_8.0.30-1ubuntu22.04_amd64.deb第二個mysql-workbench-community-dbgsym_8.0.30-1ubuntu22.04_amd64.deb,後者的大小更大。

在此處輸入圖像描述

dbgsym包包含調試符號。

TLDR

忽略 dbgsym 包

細節

如果您的程序(在本例中為 mysql)是用 C、C++、Go、Rust 等編譯語言編寫並轉換為執行檔,則調試資訊允許將一定數量的引用位置和值從執行檔返回到原始原始碼。

例如,它可以說字節 300 到 312 和 340 到 356 來自文件 src/main.c 的第 127 行。

也可以說,當程序計數器在 500 和 512 之間時,變數 foo 儲存在寄存器 %r12 中。

如果程序崩潰,可能是因為除以零,那麼能夠說您正在執行特定的原始碼行並使用特定的變數可以使事情更容易得到修復。

然而,所有這些資訊都佔用空間。由於大多數人不想調試 mysql 之類的程序,因此發行版經常將調試資訊拆分到一個額外的包中,這樣不感興趣的人就不必支付下載和儲存它的成本。

引用自:https://unix.stackexchange.com/questions/712272