Bug 327221 - Suspending Qt applications is not working
Summary: Suspending Qt applications is not working
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug-dsf-gdb (show other bugs)
Version: 7.0.1   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-07 08:25 EDT by Missing name CLA
Modified: 2020-09-04 15:22 EDT (History)
1 user (show)

See Also:


Attachments
Screenshot of eclipse debugging session (122.13 KB, image/jpeg)
2010-11-11 13:42 EST, Missing name CLA
no flags Details
Installed software on Eclipse Helios SR1 (55.63 KB, image/gif)
2010-11-12 01:55 EST, Missing name CLA
no flags Details
GDB trace console output for application start (66.63 KB, text/plain)
2010-11-12 04:15 EST, Missing name CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Missing name CLA 2010-10-07 08:25:01 EDT
Build Identifier: 201009241320

Suspending a running Qt application via the Suspend button is not working. The running Qt application is not suspended. A result of this problem is, that setting breakpoints in a Qt application only possible if the application is suspended (i.e. if a breakpoint was hit). Setting a breakpoint while the application is running is not possible.

Suspending non Qt C++ applications works fine.

Because suspending a running application is essential for effective debugging I would set the severity to Major.

Reproducible: Always

Steps to Reproduce:
1. Start Qt application
2. Hit Suspend button
Comment 1 Marc Khouzam CLA 2010-11-10 12:58:26 EST
Can you post the traces from the console called 'gdb traces'?  We may be able to see some output that may explain why the interrupt is not working.
Comment 2 Missing name CLA 2010-11-11 02:06:17 EST
How can I open the 'gdb traces' console? If I start debugging session I only have the gdb console and the application console.
Comment 3 Marc Khouzam CLA 2010-11-11 08:05:45 EST
(In reply to comment #2)
> How can I open the 'gdb traces' console? If I start debugging session I only
> have the gdb console and the application console.

On the console view, there is a little TV icon with an arrow.  Click on the arrow and you will see all available consoles, including 'gdb traces'
Comment 4 Missing name CLA 2010-11-11 13:42:14 EST
Created attachment 182930 [details]
Screenshot of eclipse debugging session

There is no 'gdb traces' console available.
Comment 5 Marc Khouzam CLA 2010-11-11 15:58:32 EST
(In reply to comment #4)
> Created an attachment (id=182930) [details]
> Screenshot of eclipse debugging session
> 
> There is no 'gdb traces' console available.

My console drop down does not look like yours at all.  What Eclipse are you using?
Comment 6 Missing name CLA 2010-11-12 01:55:02 EST
Created attachment 182958 [details]
Installed software on Eclipse Helios SR1

> My console drop down does not look like yours at all.  What Eclipse are you
> using?

I'm using Eclipse Helios Service Release 120100917-0705. 

To make sure that the missing 'gdb traces' console is not related to my eclipse installation I just downloaded eclipse-cpp-helios-SR1-win32.zip from http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/SR1/eclipse-cpp-helios-SR1-win32.zip. 

If I run this eclipse version, then there is also no 'gdb traces' console. Should I create a new bugzilla entry 'gdb traces console is missing'?
Comment 7 Missing name CLA 2010-11-12 04:15:13 EST
Created attachment 182967 [details]
GDB trace console output for application start

(In reply to comment #1)
> Can you post the traces from the console called 'gdb traces'?  We may be able
> to see some output that may explain why the interrupt is not working.

My co-worker has an Eclipse Helios SR1 with 'gdb traces' console. He did the trace for me and I attached his trace (gdbtrace.txt). The trace shows the complete application startup from the time the debug button was clicked till the moment the application main window appeared on screen.

If we press the suspend button, nothing happens - no more output in the 'gdb traces' console.

In my opinion this must be something related to Qt because it does not happen with non Qt applications. Maybe the Qt Windows implementation uses some signals that are required by the debugger? QtCreator also uses GDB but they must do something different because it is possible to suspend Qt applications in QtCreator.

That means, if we debug the same application that produces the attached gdb trace output in QtCreator, then it is possible to suspend the application and to set breakpoints during running application.

Any idea how the 'gdb traces' console disappeared on my eclipse? Any hidden switches or settings I missed?