Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-63594

WebEngineCore: debug symbols broken when activating all debug symbols

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.10
    • 5.10, 5.11
    • WebEngine
    • None

    Description

      When I edit src/core/config/common.pri and comment out the lines

      !webcore_debug: gn_args += remove_webcore_debug_symbols=true
      !v8base_debug: gn_args += remove_v8base_debug_symbols=true
      

      (which afaik is the only decent way to get all debug symbols) and do a full rebuild, then

      • Stepping into functions that are defined in libQt5WebEngineCore.so doesn't work (they are skipped over instead)
      • The stacktrace doesn't show the source-filename and the frames are gray for stackframes in core/chromium
      • Clicking on these frames opens the disassembler
      • The debugger doesn't stop at breakpoints that I set in core or chromium functions (although I'm running in --single-process mode)
      • There is an hourglass over the red "breakpoint" circles

      When I don't comment out the lines, it works as expected.
      I thought it might be an issue with the file being to big (about 6.5 GiB), but my gdb and gdbserver are 64-bit versions.

      Running dwarfdump /path/to/libQt5WebEngineCore.so it does list some symbols, but after a while, it aborts with error message

      < 2><0x000d818a>      DW_TAG_variable
                              DW_AT_name                  "delay"
                              DW_AT_decl_file             0x00000004 /home/viengelm/Programming/qt5.10dbg/qt5/qtwebengine/src/core/content_browser_client_qt.cpp
                              DW_AT_decl_line             0x00000090
                              DW_AT_type                  <0x00000030>
                              
      dwarfdump ERROR:  dwarf_loclist:  DW_DLE_LOC_EXPR_BAD (128)
      
      CU Name = "/home/viengelm/Programming/qt5.10dbg/qt5/qtwebengine/src/core/content_browser_client_qt.cpp"
      CU Producer = "GNU C++11 5.4.0 20160609 -m64 -mtune=generic -march=x86-64 -g -g2 -g -Og -O0 -Og -std=gnu++11 -std=gnu++11 -fno-strict-aliasing -fstack-protector -funwind-tables -fPIC -fno-omit-frame-pointer -fvisibility=hidden -fno-rtti -fno-exceptions -fvisibility-inlines-hidden --param ssp-buffer-size=4 --param ggc-min-expand=100 --param ggc-min-heapsize=131072"
      DIE OFF = 0x000d818a GOFF = 0x0066c3a4, Low PC = 0x00000000, High PC = 0x00000000
      

      so it seems like the debug symbols are corrupted

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            viengelm Viktor Engelmann
            viengelm Viktor Engelmann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes