2011-06-09 19 views
1

我正在爲iOS和XCode 3.2開發。我用-g選項將我的代碼以調試模式編譯到靜態庫中。然後,我將該庫與一個更大的靜態庫鏈接起來,該靜態庫有main來創建最終的可執行文件。該庫建立在發佈模式下,沒有任何調試支持。現在,當調試崩潰時,我沒有看到我的代碼的符號。他們去了哪裏?他們被鏈接器剝離了嗎?如何讓鏈接器保留我的庫的調試信息?我無法控制其他圖書館,因此我無法在那裏做任何事情。調試鏈接期間丟失的符號...?

+0

有在Xcode構建選項,導致可執行文件被剝離 - 通常在默認情況下啓用發佈版本 - 嘗試關閉並重建。 – 2011-06-09 16:13:02

+0

我通過構建腳本鏈接XCode之外的2個庫,但我已指定'-nostrip'選項。 – 341008 2011-06-09 16:18:28

回答

1

如果你可以建立自己的圖書館,在生成設置

  • 使用相同的調試信息格式磁帶庫和代碼兩者。例如混合「矮跟的dSYM文件」與「矮」將不與相關的「條帶」,以NO任何標誌顯示符號
  • 建立它(或部署後處理NO)