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

Debugging with CDB's '-o' flag breaks on Initial Breakpoint of every new child process

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • Qt Creator 3.2.0-beta1
    • Qt Creator 3.1.0-rc1
    • Debugger
    • None
    • 72ac098a86191fe3f66ba82c61d960396e3b24f1

    Description

      When working with a multi-process application (that spawns child processes) it's convenient to use the '-o' CDB option ("attach to all child processes"). However, this has the downside of causing a break in LdrpInitializeProcess. This is a special "initial breakpoint" (IBP) that hits after the process has been spawned but before its main. This allows, for example, to step into initializations of statics etc.

      It's not always convenient to break so early, for example when debugging a normal run-time problem (as opposed to an early startup problem). And it's rarely convenient to break in every spawned child process.

      One can disable breaking on the IBPs by passing another option to CDB: '-g' or -'xi ibp'. However, if any of these is specified, CDB won't break on any breakpoints placed by the developer in the editor.

      Expected: '-o -g' or '-o -xi ibp' options configurations passed to CDB result in CDB attaching to all child processes of the debugee, skipping their pre-main breakpoints (IPBs) and breaking on user-defined breakpoints.

      Actual: These configurations make Qt Creator fail to properly set user-defined breakpoints.

      Attachments

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

        Activity

          People

            davschul David Schulz
            mpawlowski Maciej Pawlowski
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes