簡體   English   中英

設置 Qt Creator 以調試到 Qt 類

[英]Setup of Qt Creator to debug into Qt classes

我想以某種方式設置 Qt Creator (3.0),以便我可以調試到 Qt 類中。 所以我下載了相應的 src 代碼( http://gitorious.org/qt/qt5 )並將其安裝在一個目錄中(例如c:\\Qt5\\src )。

然后我有我自己的項目。 我需要在哪里設置 Qt 的源代碼路徑( c:\\Qt5\\src ),以便我可以調試我的代碼,但也可以在必要時進入 Qt 類。

-- 編輯:Pavel 的評論 --

Pavel 給出了一個很好的提示:但我使用的是 Qt/Qt Creator 的預編譯版本。 所以我基本上是在尋找一個不需要我從源代碼編譯的解決方案。 然而,一個有用的提示。 謝謝。

如果您使用的是預構建版本,只需按照http://doc.qt.io/qtcreator/creator-debugger-engines.html 中所述重新映射源代碼位置

映射源路徑

為了使調試器能夠在與構建庫所在位置不同的位置使用源樹的副本時進入代碼並顯示源代碼,請將源路徑映射到目標路徑:

  • 選擇工具 > 選項 > 調試器 > 常規 > 添加。
  • 在源路徑字段中,指定調試器報告的可執行文件的調試信息中的源路徑。
  • 在目標路徑字段中,指定源樹在本地機器上的實際位置。

要獲得“調試器報告的可執行文件的調試信息中的源路徑”,您可以通過在堆棧視圖中右鍵單擊並將鼠標移動到特定位置來激活“調試時在堆棧視圖中使用工具提示”選項函數調用。

如果您查看工具提示,您將看到對/Users/qt/work引用,Mac 部署的調試符號指向那里。 當然,這沒有記錄,因為這些人希望您購買企業。

如果您創建/Users/qt/work目錄(以 root 身份),然后創建一個到名為 qt 的源目錄的軟鏈接,一切都會正常進行。 無需從源代碼構建任何東西(在 Mac 下會導致數十場演出浪費)。 關於插件的相同考慮

例子:

sudo -s
mkdir /Users/qt
cd /Users/qt
mkdir work
cd work
ln -s /Users/your_user_name/Qt/your_qt_release/Src qt

一切都會好起來的。 任何源映射在這里都失敗了,所以不要管它們。 希望這可以幫助

你必須編譯你自己的Qt。 這是獲得此功能的唯一方法。 您可以隨意使用任何您想要的 IDE,包括預編譯的。 只需在 Qt Creator 中將您自己編譯的 Qt 注冊為套件即可。

預編譯的 Qt 根本不附帶帶有調試信息的文件。 嘗試調試到預編譯的 Qt 中可能會浪費大量時間。 這在 Unix 平台上是不可能的,因為沒有提供所需的包含調試信息的對象。 出於同樣的原因,它在 Windows 上也不可用 - MSVC 構建沒有 .pdb 文件,並且 mingw 構建沒有目標文件。 這就是它的全部內容。

在構建 Qt 的-debug-and-release構建時,您必須保留以下所有樹(文件夾)以便調試工作:

  • 來源,
  • 建造,
  • 安裝前綴。

我真的不知道預構建的 Qt 是干什么用的。 就我而言,不應該提供它:它只會讓每個人都感到困惑。 它對最終用戶沒有用,對開發人員也沒有用 - 我只是無法在沒有訪問 Qt 源代碼的情況下認真地看到調試。 在某種程度上,它違背了存在來源的目的。 當然,應該有一個預建的 Qt Creator 和它需要的預建 Qt 庫,但這不應該暴露在它之外。

使用 Xcode,在第一次進入 Qt 庫之前,在 LLDB 窗口中輸入以下命令:

settings set target.source-map /Users/qt/work/qt /path/to/Qt/5.10.1/Src

(顯然,您需要更改相關的版本號)。

但是假設奇趣科技改變了它的構建目錄,那該怎么辦呢? (或者,提供/Users/qt/work/qt路徑的社區 wiki 是如何找到它的?)您可以通過編輯/path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug猜測路徑需要是什么/path/to/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/QtCore_debug (或任何其他 Qt 庫)並搜索一些路徑。 "/Users" 似乎是一個很好的猜測。 大約 2% 到庫中,您將開始看到包含許多路徑的部分,例如:

../../include/QtCore/../../src/corelib/kernel^@../../include/QtCore       
/../../src/corelib/tools^@global^@/Users/qt/work/qt/qtbase/src/corelib
/../../include/QtCore/../../src/corelib/arch^@/Applications/Xcode.app
/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/<etc>

尋找看起來可寫的絕對路徑。 (例如, /Applications/...不會是一個可能的構建路徑)

在最近的 Qt creator (v 4.11) 中,在 Tools > Options > Debugger > General 中按下按鈕“Add Qt Sources”,然后選擇 Qt 源文件。 Qt5 應該由在線安裝程序安裝,並選中“Qt 調試信息文件”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM