Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-7468

Register view does not handle missing registers

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Not Evaluated Not Evaluated
    • Qt Creator 2.6.0-rc
    • Qt Creator 2.5.0
    • Debugger
    • None
    • 2cf04cb248c6b061b5b0aac1f808fdbb72602de3

      As noted here: http://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Data-Manipulation.html the list of registers can contain empty names so that the name index corresponds to the number from the list of values. However, in Qt Creator (gdbengine.cpp:3721) empty entries are discarded completely, which throws off alignment with the values (since the number from the values info is used as the index into the list of names). This manifests for me where ax,bx,cx,dx contain (2, 0, 60, 1) but eax,ebx,ecx,edx,esi contain (0, 2, 0, 60, 1) (everything is shifted down).

      One can see this by debugging the attached main.cpp. If I set a breakpoint at line 11 (z = x + y), the disassembly says the value should be put into the eax register. However, the register pane shows eax unchanged and the proper value is in ebx. However, ax shows the new value. I've attached my debugger log, which shows register-values with a missing number #101 and index #101 in register-names as empty.

        1. main.cpp
          0.1 kB
        2. registers-debug.log
          48 kB
        For Gerrit Dashboard: QTCREATORBUG-7468
        # Subject Branch Project Status CR V

            hjk hjk
            cyclone31 Ryan May
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes