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

前端 未结 3 2043
旧时难觅i
旧时难觅i 2021-01-05 07:31

I\'m writing a program that makes extensive use of vectors and am developing with Qt Creator 2.0.1 on Mac OS X 10.6.6 for the first time.

As I am debugging, I can se

3条回答
  •  甜味超标
    2021-01-05 07:55

    QtCreator 2.6 has support for Mac FSF GDB (7.5) support. FSF GDB supports python which allows qtcreator to properly display QVector, QSet, QList, QString, etc. It can be download from macports.

    1. Download and Install macports (download it from here http://www.macports.org/install.php)
    2. To install FSF GDB 7.5:

           sudo port install gdb
      
    3. Give FSF GDB permission to debug applications:

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

      If gdb-cert isn't found, create a gdb-cert by clicking on the link below, and follow the directions for "Creating a certificate":

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

      If you don't give permission to ggdb, you'll get a:

       Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5).
       (please check gdb is codesigned - see taskgated(8)) 
      
    4. Change the kit debugger in QtCreator enter image description here

      Change the path from /usr/bin/gdb to /opt/local/bin/ggdb

    5. By default FSF GDB fails to handle breakpoints correctly because mac clang++ doesn't export debug symbols. To export the debugging symbols, dsymutil needs to be run manually. Luckly, dysmutil command can be run automatically after link the program using qmake. Add the following lines in your .pro file:

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

提交回复
热议问题