我剛剛開始用C語言編寫代碼,並運行其他人的Makefile,默認C編譯器設置爲gcc。我在Mac OSX 10.8 Mountain Lion上,我相信我用「XCode Command Line Tools」安裝了編譯器。在命令行運行「make」之後,我得到了每個程序的煩人的.dSYM文件。我讀過這些是調試文件,但它們真的有必要嗎?有沒有辦法阻止它們從命令行生成?.dSYM文件從命令行生成
9
A
回答
7
是的,dSYM文件是必需的。具體而言,它們包含Xcode調試版本中包含的符號表;發佈版本將符號放在這個單獨的文件中。如果你需要分析一個發佈版本的堆棧跟蹤,你需要這個。並且確保不會丟失文件,因爲再次執行構建,即使源代碼完全相同,也不會生成可用的dSYM文件。每個構建都有一個UUID,並且每個構建都會隨着每個構建而更改,即使源未更改也是如此。 (我想它包括一個時間戳,甚至是一個隨機數。)
如果你扔掉了dSYM文件,那麼如果你突然發現你的應用崩潰了很多,你可能會後悔。
0
它們僅在需要解釋崩潰報告中堆棧跟蹤中的位置時才需要。
+1
它們對gdb中的源引用也很有用 –
22
GCC的-g
標誌將生成調試符號。您可以簡單地從CFLAGS
中刪除該標誌。
相關問題
- 1. 從命令行生成dgml文件
- 2. Xcode不生成dSYM文件
- 3. 生成從Linux命令行
- 4. 經由命令行(生成文件)
- 5. 通過命令行只(生成文件)
- 6. 從java命令生成android apk文件
- 7. 從命令行自動生成文件夾和.js文件
- 8. 自動生成文件生成命令
- 9. 生成命令行
- 10. 如何從命令行生成一個包可執行文件?
- 11. 從命令行生成並運行FlexUnit
- 12. 執行Eclipse從命令行生成javadoc
- 13. 如何從命令行生成.xst文件+ Xilinx-ISE
- 14. 如何在Linux中從命令行生成xls文件?
- 15. 從msbuild命令行生成VS2010解決方案文件
- 16. 從xcode命令行生成ipa
- 17. 從命令行生成JUnit報告
- 18. 如何從命令行生成android debug.keystore?
- 19. 如何生成多行生成命令?
- 20. 從生成文件任務中的文件內容生成命令
- 21. 從bat文件生成的bat文件不是一個命令
- 22. 預生成事件命令行問題
- 23. 在生成文件install命令
- 24. 在命令行中運行一個jar文件(由ant生成)
- 25. SVG生成從命令行失敗,但NetBeans成功執行
- 26. 使用命令行從模板文件生成AppxManifest以進行自動構建
- 27. 生成命令後不生成.ko文件
- 28. 運行Hadoop文件命令生成錯誤
- 29. <命令行>:錯誤:在生成文件
- 30. Zend Framework - zf.bat文件生成命令行錯誤
檢查在'Makefile'中運行的'dsymutil'並註釋掉。 OS X上的'gcc'不應該單獨生成它們。這個工具被稱爲'dsymutil'。另外:不,它們不需要運行二進制文件,僅用於調試目的。 –
Makefile中沒有dsymutil,但運行了以下標誌:CFLAGS = -m32 -g -O0 -std = gnu99 -Wall – pyrrhic