Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
Qt Creator 3.1.0-rc1
-
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.