我有一個使用Xcode 3.2在Mac OS X 10.5上構建的項目。當我使用GCC 4.2進行調試構建並命中斷點時,Xcode調試器通常顯示局部變量信息。如果讓我選擇LLVM GCC 4.2或LLVM鐺,當我打了斷點,本地符號不可用,和GDB說無符號在目前情況下「自我」,如果我嘗試打印自或任何其他地方的象徵。在所有情況下生成調試信息選項已設置。 Debug配置設置爲$(NATIVE_ARCH)
和10.5 SDK,僅生成活動架構選項已設置。當GDB啓動時,我可以看到它被配置爲x86_64-apple-darwin。我必須失去一些明顯的東西。如何在使用LLVM編譯器時使GDB顯示本地符號?Xcode 3.2 + LLVM =調試時沒有本地符號
9
A
回答
9
對於那些不熟悉,更多的細節,以cdespinosa的答案,這工作對我來說,和我投了。
- 從Xcode的菜單中選擇項目>編輯項目設置...
- 選擇Build標籤
- 在搜索框中鍵入「優化級別」,選擇字段,然後選擇無。
- 接下來搜索「調試信息格式」,選擇該字段,然後選擇「DWARF」或「帶有dSYM的DWARF」。
本來把這個意見,他的職位,如果我有PRIVS。 ;)
這花費了我一些嚴重的時間,並且是坦率地說的那種草率的對蘋果的一部分,但總的來說,我不能抱怨。
0
來自FSF的GDB只添加了對JIT代碼的支持,非常的recently。
我不知道Apple提供的GDB是否支持它(你是否得到了合理的堆棧跟蹤?)。如果是這樣,這種支持(顯然)是不完整的。
4
這可能有所幫助。嘗試關閉項目構建選項中的「鏈接時優化」。這解決了我缺少調試符號的問題。
事實上,這固定了我與Clang一起發生的一系列奇怪的問題。我會說這個功能的使用尚處於邊緣。
5
確保您正在構建矮人符號並且不進行優化。 llvm是一個新的後端,並不是所有優化的codegen都已經連接到調試符號生成。
0
我是有這個問題,並通過把旁邊打勾菜單項解決了這個問題:「項目>設置活動生成配置>調試」。以前,選擇了「發佈」選項。從那時起,當地人開始在調試器中顯示出我的項目。
相關問題
- 1. LLVM庫的調試符號?
- 2. 在調試器中沒有符號,xCode 4
- 3. 使用LLVM編譯時,調試符號是否有用?
- 4. 如何獲得LLVM調試符號
- 5. 的XCode LLVM + GCC 4.2 - 生成我有一個庫項目調試符號
- 6. 使用LLVM Clang 2.6和Xcode 3.2
- 7. Xcode 3.2調試:看看字符串中有什麼?
- 8. 調試在沒有調試符號的情況下構建的Xcode中的dylib
- 9. 有沒有爲Sharepoint調試符號?
- 10. ddd沒有找到調試符號
- 11. 沒有調試符號找到
- 12. 有沒有辦法在運行時訪問調試符號?
- 13. XCode缺少一些iOS調試符號
- 14. Xcode和生成調試符號
- 15. xcode 8.1調試符號丟失
- 16. 本地Maven回購沒有符號
- 17. 地帶調試符號的Xcode構建設置
- 18. 調試LLVM IR
- 19. 僅爲調試配置添加運行腳本階段XCode 3.2
- 20. Visual Studio 2008調試時沒有加載符號.DMP
- 21. Visual Studio 2013在調試時沒有加載符號
- 22. 當沒有調試符號加載時,gdb如何解釋`main`?
- 23. 遠程調試時爲什麼沒有加載符號?
- 24. 硬核時間調試XCode中的本地變量
- 25. 進度地沒有調試
- 26. 沒有調試符號都可以安裝在Apple關注
- 27. 沒有ViewData本地主機與本地主機在調試
- 28. 在LLVM上使用GHC 3.2
- 29. Xcode 4.2沒有正確調試
- 30. GDB說「沒有符號表」,但nm顯示文件有調試符號
是什麼讓你覺得這與JIT有什麼關係,或者Apple會發佈一個gdb,但它不能完全與他們編寫的編譯器一起工作? – user57368 2009-09-04 03:01:54
堆棧看起來正確,顯示我所有的功能。這是本地變量缺失。 – glebd 2009-09-04 09:29:09
但是llvm可以生成本地代碼,而不是字節碼。 – osgx 2010-02-08 17:01:53