Archaeopteryx Software, Inc.
Take Flight!Search

Wing IDE
About Us
Open Source

 Advanced Search

[wingide-users] PyQt-Apps

Stephan R.A. Deibel
Mon, 7 Jan 2002 11:25:26 -0500 (EST)

FYI for list members:

On Thu, 27 Dec 2001, F. GEIGER wrote:
> Did anyone ever try to debug PyQt (non-commercial) applications? I did not
> succeed in doing so, neither with WingIDE (1-1b8, 1-1rc3: Server not
> responding; Debugging Stopped Unexpectedly) nor with PythonWin (hangs). So,
> is this something that's impossible per se?

We tracked this down only to find that at least in PyQt 2.3 and Qt 3.0 on
Windows the (Py)Qt-level support we use to service our debug network
socket is broken, causing the debug process to crash when we try to
install our socket listener (with QSocketNotifier).

Because of this we've had to retract our special support for Qt for now.

This means only that you cannot Pause or set/remove/alter breakpoints
while your debug process is free-running (Pause is ignored and altering
breakpoints causes the debug session to terminate).

Debugging Qt applications should otherwise work normally.

However, because we're calling Qt code that crashes in our Qt support in
Wing IDE 1.1, the following work-around is needed before it will work:

Work Around #1

1) Copy from src/debug/server to bin/#.#.0/src/debug/server
   in your Wing IDE installation, where #.# is the version of Python you
   are using for your debug process.

2) Remove _extensions.pyo and _extensions.pyc from bin/#.#.0/src/debug/server
   so is definately used.

3) Edit to remove reference to _qthooks.  This turns off
   the broken Qt-specific support code.

This aspect of the problem will be fixed in Wing 1.1.1, so this work
around is only needed in Wing version 1.1.

Work Around #2

Work around #1 is required in any case for Wing version 1.1 to avoid
crashing the debug process.  Once that is done, or in later versions of
Wing IDE, you can work around failure to respond to Pause or
set/remove/alter breakpoints by adding some code to your Qt application.  
This is described here:

We will try to re-enable internal support for Qt in the future but
recommend the above work arounds until we can find a way to do this.

Thanks for reporting the problem!

- Stephan

Archaeopteryx Software, Inc.                        Wing IDE for Python                               Take Flight!

Run by Mailman v 2.0.8

Copyright (c) 2000-2002, Archaeopteryx Software, Inc.
Legal Statements