[Tutor] What has Editor X got that PyWin32 hasn't?

Dick Moores rdm at rcblue.com
Fri Aug 15 02:23:05 CEST 2008


At 04:54 PM 8/14/2008, bob gailer wrote:
>Dick Moores wrote:
>>At 08:58 PM 8/13/2008, bob gailer wrote:
>>>One thing I really like about Python Win is the integrated 
>>>debugger, which takes no time to start up. SPE OTOH uses WinPDB 
>>>which runs as a separate process that takes (in the demo video) 15 
>>>seconds to start (each time it is requested)! Since I depend 
>>>heavily on the debugger that delay would drive me crazy!
>>
>>Hm, I just measured how long Ulipad takes to get going with WinPDB, 
>>a plug-in: 20 seconds, but 10 seconds for a restart.
>
>Since you mention Ulipad I may have tried WinPDB there instead of 
>SPE. I just remember trying it and not liking it. Python Win is 
>totally integrated and seamless.

>>Other than the time to start, could you compare debugging with 
>>Python Win and debugging with WinPDB?
>
>I'll taks a stab. All I know about WinPDB is what I see in the SPE 
>video, so it probably is not the truth. What I see is a screen 
>cluttered with a lot of windows, and having to switch application to 
>access the output window or the code editor to make changes. Wth 
>PyWin I work in the same familiar environment. The interactive 
>window is available for viewing output and entering Python 
>statements and expressions. If I want to see the stack or watch 
>variables I can open floating or dockable windows.
>
>Python Win serves my workflow. I am editing a script. I decide to 
>run it so I can see what steps it takes and what values my variables 
>are getting.
>
>All I have to is press F10 in the active window and execution starts 
>with the first statement. I can set breakpoints with F9, control 
>execution with F11 F10 shift-F11 F5 and shift-F5. I can edit my 
>source on the fly (changes of course do not take effect until the 
>next execution cycle, and I must take care to not delete or add 
>lines (the debugger does not know about such changes).
>
>I can set a condition for a breakpoint.
>
>OTOH WinPDB displays more information (witness locals globals 
>exceptions and threads). I don't know how PythonWin handles threads.

Thanks very much for taking the time to write about something I've 
long wondered about.

As a Python learner, I found that getting acquainted with WinPDB made 
such a big difference in my ability to program, that I'm reluctant to 
change. I learned to use it through 
<https://gotgenes.com/swcatvtwiki/DebuggingExercise>

BTW you can set a condition for a breakpoint with it: See this 
example towards the bottom of the tutorial:

==================================
we need to set our conditional breakpoint. Look for the line number 
of the while loop statement:


while divisor <= 0:and set a conditional breakpoint for when divisor 
reaches the value 1.


bp 35, divisor == 1
====================================

Dick




More information about the Tutor mailing list