Message1742
I have seen this problem with various combinations of Jython (2.1, 2.2rc1, 2.2rc2) and PyDev (1.3.5, 1.3.8).
1. Set a breakpoint in some "main" code in a module.
2. Launch the Jython debugger.
3. The console prints "pydev debugger"
4. A "red square" appears to show that the script is running.
5. The breakpoint is not hit.
6. The pause button is greyed-out.
7. The only available option is to terminate the run.
I'm not 100% sure if this is a PyDev problem or a Jython problem but I suspect that the issue has to do with a difference in sys.settrace() behavior between Jython and CPython.
I created a PyDev patch that makes the debugger work (i.e. not hang). They way it is currently coded, I wouldn't recommend it to anyone, but it should provide food for thought.
Details:
The debugger uses sys.settrace() to hook in a dispatch function and then it spawns three threads. Each thread indirectly calls sys.settrace(None) to disable tracing for the given thread. I found that the spawned threads still call the dispatch function. As an experiment, I was able to stop the spawned threads from tracing by giving each thread a fresh PySysytemState. I don't know the effect of this, so I don't recommend this as a workaround.
Thanks,
..PJ
|
|
Date |
User |
Action |
Args |
2008-02-20 17:17:55 | admin | link | issue1757191 messages |
2008-02-20 17:17:55 | admin | create | |
|