簡體   English   中英

如何讓Qt Creator的調試器顯示OS X中C ++向量的內容?

[英]How do I make Qt Creator's debugger show the contents of C++ vectors in OS X?

我正在編寫一個廣泛使用向量的程序,並且是第一次在Mac OS X 10.6.6上使用Qt Creator 2.0.1進行開發。

在調試時,我可以在Locals and Watchers窗口中看到文字和數組,但是一旦我擴展了一個向量,在這種類型為Student情況下,我得到了這個樹:

替代文字

我正在使用的另一個人是在Ubuntu上使用相同版本的Qt Creator,可以很好地看到向量的內容。 我究竟做錯了什么?

這是他的調試器:

替代文字

QtCreator 2.6支持Mac FSF GDB(7.5)支持。 FSF GDB支持python,它允許qtcreator正確顯示QVector,QSet,QList,QString等。它可以從macports下載。

  1. 下載並安裝macports(從這里下載http://www.macports.org/install.php
  2. 要安裝FSF GDB 7.5:

      sudo port install gdb 
  3. 授予FSF GDB調試應用程序的權限:

     sudo codesign -s gdb-cert /opt/local/bin/ggdb 

    如果找不到gdb-cert,請單擊下面的鏈接創建gdb-cert,然后按照“創建證書”的說明進行操作:

    http://sourceware.org/gdb/wiki/BuildingOnDarwin

    如果您不授予ggdb權限,您將獲得:

      Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)) 
  4. 在QtCreator中更改工具包調試程序 在此輸入圖像描述

    將路徑從/ usr / bin / gdb更改為/ opt / local / bin / ggdb

  5. 默認情況下,FSF GDB無法正確處理斷點,因為mac clang ++不會導出調試符號。 要導出調試符號,需要手動運行dsymutil。 幸運的是,在使用qmake鏈接程序后,可以自動運行dysmutil命令。 在.pro文件中添加以下行:

     macx { CONFIG(debug, debug|release) { QMAKE_POST_LINK = dsymutil \\"MyApp.app/Contents/MacOS/MyApp\\" } } 

您需要構建調試助手。 應該在工具 - >選項下...

構建調試助手后,您還可以可視化std :: string,QString和容器。

在您選擇使用哪個版本的Qt的位置應該有一個重建按鈕。

http://www.qtcentre.org/threads/31862-quot-No-valid-Qt-version-set.-Set-one-in-Tools-Options-quot-Windows-QtCreator

這兩個答案是正確的:一個人不能在mac上使用基於python的調試助手,仍然有一個與Apple的gdb一起使用的C ++版本。

暫無
暫無

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

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