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

Creating a breakpoint on non-source line while debugger is running causes breakpoints to constantly be created

    XMLWordPrintable

Details

    • f635af8908b865635326f828c2606a1e684f4510 (qt-creator/qt-creator/4.8)

    Description

      To reproduce the issue:

      1. Debug an application.
      2. While the debugger is running, place a breakpoint on a non-source line. For example, a comment or a line with only a curly brace.
      3. Notice how the breakpoint constantly gets removed and re-added. This has different behavior depending on the Qt Creator version:
        • 4.7: the breakpoint will jump between the original location and updated location constantly. Clicking on it to remove the breakpoint has a high chance of crashing Qt Creator.
        • 4.8: the stays at the same place, but the breakpoint number continuously increments. I haven't left it long enough to see if it eventually crashes similar to 4.7. Clicking on the breakpoint will stop it incrementing, but not remove it. (it will be removed second time you click on it)

      Toggling the "Adjust breakpoint locations" has no affect. This may also indicate that option is broken. Additionally, placing a breakpoint on a non-code line works as expected if it's placed before debugging starts.

       

      Note that while some cases it's obvious what's a code line and what isn't, in other cases it isn't clear. For example, if you split a statement across multiple lines only one of them may be the "true" code line from the debugger's point of view.

      Attachments

        1. gdb commands.txt
          15 kB
        2. gdb console.txt
          120 kB

        Issue Links

          Activity

            People

              hjk hjk
              akb825 Aaron Barany
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: