大多数为 Qt 5.3.2 编译的二进制文件都是在没有调试信息的情况下构建的



我正在尝试使用调试信息构建Qt 5.3.2的发布版本,后来我使用dsymutil转储了这些信息。

以下是用于构建Qt的配置摘要:

Configure summary
Build type:    macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3)
qmake vars .......... QMAKE_CC = /usr/bin/cc QMAKE_CXX = /usr/bin/c++ QMAKE_CFLAGS = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/usr/include -mmacosx-version-min=10.8 -mssse3 -gdwarf-4 -fslp-vectorize -fvectorize QMAKE_LFLAGS = -L/usr/lib -mmacosx-version-min=10.8 styles += mac fusion windows DEFINES += QT_NO_MTDEV QMAKE_CFLAGS_FONTCONFIG = -I/usr/local/Cellar/fontconfig/2.11.1/include -I/usr/local/Cellar/freetype/2.5.3_1/include/freetype2  QMAKE_LIBS_FONTCONFIG = -L/usr/local/Cellar/fontconfig/2.11.1/lib -L/usr/local/Cellar/freetype/2.5.3_1/lib -lfontconfig -lfreetype  DEFINES += QT_NO_LIBUDEV DEFINES += QT_NO_EVDEV INCLUDEPATH +=  "/usr/include" LIBS +=  -L"/usr/lib" sql-drivers =  sql-plugins =  sqlite qmake switches ......... 
Build options:
  Configuration .......... absolute_library_soname accessibility audio-backend concurrent corewlan fontconfig force_debug_info full-config getaddrinfo getifaddrs harfbuzz iconv ipv6ifname large-config largefile medium-config minimal-config opengl openssl-linked pcre png precompile_header qpa qpa qt_framework reduce_exports release rpath shared small-config sse2 sse3 ssse3 system-freetype system-jpeg system-png system-zlib 
  Build parts ............ libs tools examples
  Mode ................... release (with debug info)
  Using C++11 ............ no
  Using PCH .............. yes
  Target compiler supports:
    SSE2/SSE3/SSSE3 ...... yes/yes/yes
    SSE4.1/SSE4.2 ........ no/no
    AVX/AVX2 ............. no/no
Qt modules and options:
  Qt D-Bus ............... no
  Qt Concurrent .......... yes
  Qt GUI ................. yes
  Qt Widgets ............. yes
  Large File ............. yes
  QML debugging .......... yes
  Use system proxies ..... no
Support enabled for:
  Accessibility .......... yes
  ALSA ................... no
  CUPS ................... no
  Evdev .................. no
  FontConfig ............. yes
  FreeType ............... yes (system library)
  Glib ................... no
  GTK theme .............. no
  HarfBuzz ............... yes
  Iconv .................. yes
  ICU .................... no
  Image formats: 
    GIF .................. yes (plugin, using bundled copy)
    JPEG ................. yes (plugin, using system library)
    PNG .................. yes (in QtGui, using system library)
  journald ............... no
  mtdev .................. no
  Networking: 
    CoreWlan ............. yes
    getaddrinfo .......... yes
    getifaddrs ........... yes
    IPv6 ifname .......... yes
    OpenSSL .............. yes (linked to the libraries)
  NIS .................... no
  OpenGL / OpenVG: 
    EGL .................. no
    OpenGL ............... desktop
    OpenVG ............... no
  PCRE ................... yes (bundled copy)
  pkg-config ............. yes 
  PulseAudio ............. no
  QPA backends: 
    DirectFB ............. no
    EGLFS ................ no
    KMS .................. no
    LinuxFB .............. no
    XCB .................. no
  Session management ..... yes
  SQL drivers: 
    DB2 .................. no
    InterBase ............ no
    MySQL ................ no
    OCI .................. no
    ODBC ................. no
    PostgreSQL ........... no
    SQLite 2 ............. no
    SQLite ............... yes (plugin, using bundled copy)
    TDS .................. no
  udev ................... no
  xkbcommon .............. no
  zlib ................... yes (system library)

然而,大多数构建的二进制文件缺乏调试信息,即 dsymutil 说没有调试符号。除了2个框架:QtCore.framework和QtGui.framework。

我使用 dsymutil -o 命令转储调试信息。

通过添加要配置的-no-strip标志来修复。

最新更新