GithubHelp home page GithubHelp logo

bluebird75 / winpdb Goto Github PK

View Code? Open in Web Editor NEW
89.0 89.0 24.0 13.08 MB

Fork of the official winpdb with improvements

License: Other

Python 100.00%
debugger debugger-visualizer graphical-interface python wxpython

winpdb's People

Contributors

alysbrooks avatar bitdeli-chef avatar bluebird75 avatar dlordi avatar gotgenes avatar gpatel-fr avatar juancrobles avatar nir avatar noamraph avatar swt2c avatar uewiebelitz avatar yorak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

winpdb's Issues

Incompatibilities with wxpython 4.0.7

It seems that the current git head is not compatible to the wxpython 4.0.7 version.
Description: When attaching to a remote session the debugger works find but all control buttons and inspection areas stay disabled. The shortcuts (e.g. F6/F5 work just fine).
This leads to exceptions.

Reason: At least the current version of wxPython (4.1.0 and 4.0.7) do not have the type rectS and the type rect does not provide any function inside().
These functions are called as wx.rectS(...) and r.inside(...) in winpdb.py.

Solution: Replacing wx.rectS by wx.rect and r.inside by r.contains(...) solves the bug and remote debugging works like a charm ;-)

Unfortunately I am not familiar with wxWidgets. Thus I do not know wheter any version ever supported these statements and if so since when this has changed.

If the fix is needed as a patch, please let me know.

No longer available from pip

$ python -m pip install winpdb-reborn
Collecting winpdb-reborn
  Could not find a version that satisfies the requirement winpdb-reborn (from versions: )
No matching distribution found for winpdb-reborn

install instructions no longer work

can't open file 'session_manager\..\rpdb2.py': [Errno 2] No such file or directory

Hi,

I am developing software with Python 3.7 on WIndows 10.

I freshly installed windpb πŸ‘

J:\Dropbox\cff\Python\PhoneBotV3>python -m pip install --upgrade winpdb-reborn
Requirement already up-to-date: winpdb-reborn in c:\users\nino\appdata\local\programs\python\python37\lib\site-packages (2.0.0.1)
Requirement already satisfied, skipping upgrade: wxpython>=4 in c:\users\nino\appdata\local\programs\python\python37\lib\site-packages (from winpdb-reborn) (4.1.1)
Requirement already satisfied, skipping upgrade: pillow in c:\users\nino\appdata\local\programs\python\python37\lib\site-packages (from wxpython>=4->winpdb-reborn) (6.0.0)
Requirement already satisfied, skipping upgrade: numpy; python_version >= "3.0" in c:\users\nino\appdata\local\programs\python\python37\lib\site-packages (from wxpython>=4->winpdb-reborn) (1.18.2)
Requirement already satisfied, skipping upgrade: six in c:\users\nino\appdata\local\programs\python\python37\lib\site-packages (from wxpython>=4->winpdb-reborn) (1.15.0)

Then I run it with this command :

winpdb MySoft.py

Nothing happen.

So I run this one:

python -m winpdb MySoft.py

The GUI is open and empty. No file, no code. So I tried to attach a file by running the command again

python -m winpdb MySoft.py

The first time it opens a cmd window with this message:

C:\Users\Nino\AppData\Local\Programs\Python\Python37\python.exe: can't open file 'session_manager\..\rpdb2.py': [Errno 2] No such file or directory

The 2nd time when I attached a command (Menu>File>Attach), I get another cmd window with exact same message:
C:\Users\Nino\AppData\Local\Programs\Python\Python37\python.exe: can't open file 'session_manager\..\rpdb2.py': [Errno 2] No such file or directory

Then I searched for this file and this issue on StackOverflow, google, and more.... NOTHING!?

So what did I do wrong?

Can anyone help me please?

RPDBTERM not defined error

I've tried several ways to debug file with winpdb running like this: $ winpdb a.py but I've always had this undeclared variable error. Couldn't google anything. I see it's declared in "rpdb2.py" file, outside the "rpdb/" folder
Here's my traceback:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/winpdb.py", line 1288, in __wrapper
    self.m_f(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/rpdb/session_manager.py", line 197, in launch
    return self.__smi.launch(fchdir, command_line, interpreter, fload_breakpoints)
  File "/usr/lib/python3.8/site-packages/rpdb/session_manager.py", line 1160, in launch
    self._spawn_server(fchdir, ExpandedFilename, args, rid, interpreter)
  File "/usr/lib/python3.8/site-packages/rpdb/session_manager.py", line 1269, in _spawn_server
    terminal_command = CalcTerminalCommand()
  File "/usr/lib/python3.8/site-packages/rpdb/session_manager.py", line 2385, in CalcTerminalCommand
    if RPDBTERM in os.environ:
NameError: name 'RPDBTERM' is not defined

Btw. I think there will also be problems with the others global variables in the CalcTerminalCommand() function inside session_maneger.py

fails to install on Rasapbian Stretch

Installed and used winpdb-reborn on Windows 10: I like its threads debug UI. Now I hit Linux specific code and have to continue debug on the target host, a Raspberry Pi running Raspbian stretch. When I tried to install it via "python3 -m pip install winpdb-reborn" it failed to build the wheels for all three components (wxpython, Pillow, and six). So I tried to install just wxpython via "pip3 install -U wxPython" and it also failed. Suggestions?

Here's the log:
===============================================================================================
pi@RPI4m:~/Desktop $ pip3 install -U wxPython
Collecting wxPython
Using cached https://files.pythonhosted.org/packages/17/74/7c3ced03c3c76b9f98e4a0edae1801755a7599ebf481c04d9f77dfff17e3/wxPython-4.0.4.tar.gz
Collecting Pillow (from wxPython)
Using cached https://files.pythonhosted.org/packages/81/1a/6b2971adc1bca55b9a53ed1efa372acff7e8b9913982a396f3fa046efaf8/Pillow-6.0.0.tar.gz
Collecting six (from wxPython)
Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Building wheels for collected packages: wxPython, Pillow
Running setup.py bdist_wheel for wxPython ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-j5r19rr5/wxPython/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmps1nar3q4pip-wheel- --python-tag cp35:
running bdist_wheel
running build
WARNING: Building this way assumes that all generated files have been
generated already. If that is not the case then use build.py directly
to generate the source and perform the build stage. You can use
--skip-build with the bdist_* or install commands to avoid this
message and the wxWidgets and Phoenix build steps in the future.

"/usr/bin/python3" -u build.py build
Will build using: "/usr/bin/python3"
3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170124]
Python's architecture is 32bit
cfg.VERSION: 4.0.4

Running command: build
Running command: build_wx
wxWidgets build options: ['--wxpython', '--unicode', '--gtk3']
Configure options: ['--enable-unicode', '--with-gtk=3', '--with-opengl', '--enable-sound', '--enable-graphics_ctx', '--enable-mediactrl', '--enable-display', '--enable-geometry', '--enable-debug_flag', '--enable-optimise', '--disable-debugreport', '--enable-uiactionsim', '--enable-autoidman', '--with-sdl']
/tmp/pip-build-j5r19rr5/wxPython/ext/wxWidgets/configure --enable-unicode --with-gtk=3 --with-opengl --enable-sound --enable-graphics_ctx --enable-mediactrl --enable-display --enable-geometry --enable-debug_flag --enable-optimise --disable-debugreport --enable-uiactionsim --enable-autoidman --with-sdl
checking build system type... armv7l-unknown-linux-gnueabihf
checking host system type... armv7l-unknown-linux-gnueabihf
checking for --disable-gui... no

<...>
No package 'gtk+-3.0' found
Package gthread-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gthread-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gthread-2.0' found
no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
configure: error:
The development files for GTK+ were not found. For GTK+ 2, please
ensure that pkg-config is in the path and that gtk+-2.0.pc is
installed. For GTK+ 1.2 please check that gtk-config is in the path,
and that the version is 1.2.3 or above. Also check that the
libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
--libs' are in the LD_LIBRARY_PATH or equivalent.

Error running configure
ERROR: failed building wxWidgets
Traceback (most recent call last):
File "build.py", line 1321, in cmd_build_wx
wxbuild.main(wxDir(), build_options)
File "/tmp/pip-build-j5r19rr5/wxPython/buildtools/build_wxwidgets.py", line 375, in main
"Error running configure")
File "/tmp/pip-build-j5r19rr5/wxPython/buildtools/build_wxwidgets.py", line 85, in exitIfError
raise builder.BuildError(msg)
buildtools.builder.BuildError: Error running configure
Finished command: build_wx (0m30.592s)
Finished command: build (0m30.592s)
Command '"/usr/bin/python3" -u build.py build' failed with exit code 1.


Failed building wheel for wxPython
Running setup.py clean for wxPython
Running setup.py bdist_wheel for Pillow ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-j5r19rr5/Pillow/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmp0r7t2sijpip-wheel- --python-tag cp35:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.5
creating build/lib.linux-armv7l-3.5/PIL
copying src/PIL/ImageCms.py -> build/lib.linux-armv7l-3.5/PIL

<...>
running egg_info
writing dependency_links to src/Pillow.egg-info/dependency_links.txt
writing top-level names to src/Pillow.egg-info/top_level.txt
writing src/Pillow.egg-info/PKG-INFO
reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '.c'
warning: no files found matching '
.h'
warning: no files found matching '.sh'
no previously-included directories found matching 'docs/_static'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.codecov.yml'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.landscape.yaml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files matching '.git
' found anywhere in distribution
warning: no previously-included files matching '.pyc' found anywhere in distribution
warning: no previously-included files matching '
.so' found anywhere in distribution
no previously-included directories found matching '.azure-pipelines'
no previously-included directories found matching '.travis'
writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
running build_ext

The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
https://pillow.readthedocs.io/en/latest/installation.html

Traceback (most recent call last):
File "/tmp/pip-build-j5r19rr5/Pillow/setup.py", line 792, in
zip_safe=not (debug_build() or PLATFORM_MINGW), )
File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/wheel/bdist_wheel.py", line 179, in run
self.run_command('build')
File "/usr/lib/python3.5/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.5/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.5/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.5/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/tmp/pip-build-j5r19rr5/Pillow/setup.py", line 606, in build_extensions
raise RequiredDependencyException(f)
main.RequiredDependencyException: jpeg

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-build-j5r19rr5/Pillow/setup.py", line 804, in
raise RequiredDependencyException(msg)
main.RequiredDependencyException:

The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
https://pillow.readthedocs.io/en/latest/installation.html


Failed building wheel for Pillow
Running setup.py clean for Pillow
Failed to build wxPython Pillow
Installing collected packages: Pillow, six, wxPython
Running setup.py install for Pillow ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-j5r19rr5/Pillow/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-e3eckqgz-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.5
creating build/lib.linux-armv7l-3.5/PIL
copying src/PIL/ImageCms.py -> build/lib.linux-armv7l-3.5/PIL

<...>
running egg_info
writing src/Pillow.egg-info/PKG-INFO
writing top-level names to src/Pillow.egg-info/top_level.txt
writing dependency_links to src/Pillow.egg-info/dependency_links.txt
reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '.c'
warning: no files found matching '
.h'
warning: no files found matching '.sh'
no previously-included directories found matching 'docs/_static'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.codecov.yml'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.landscape.yaml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'azure-pipelines.yml'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files matching '.git
' found anywhere in distribution
warning: no previously-included files matching '.pyc' found anywhere in distribution
warning: no previously-included files matching '
.so' found anywhere in distribution
no previously-included directories found matching '.azure-pipelines'
no previously-included directories found matching '.travis'
writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
running build_ext

The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
   https://pillow.readthedocs.io/en/latest/installation.html

Traceback (most recent call last):
  File "/tmp/pip-build-j5r19rr5/Pillow/setup.py", line 792, in <module>
    zip_safe=not (debug_build() or PLATFORM_MINGW), )
  File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 61, in run
    return orig.install.run(self)
  File "/usr/lib/python3.5/distutils/command/install.py", line 583, in run
    self.run_command('build')
  File "/usr/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.5/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/usr/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.5/distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "/tmp/pip-build-j5r19rr5/Pillow/setup.py", line 606, in build_extensions
    raise RequiredDependencyException(f)
__main__.RequiredDependencyException: jpeg

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-j5r19rr5/Pillow/setup.py", line 804, in <module>
    raise RequiredDependencyException(msg)
__main__.RequiredDependencyException:

The headers or library files could not be found for jpeg,
a required dependency when compiling Pillow from source.

Please see the install instructions at:
   https://pillow.readthedocs.io/en/latest/installation.html


----------------------------------------

Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-j5r19rr5/Pillow/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-e3eckqgz-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-j5r19rr5/Pillow/
pi@RPI4m:~/Desktop $
===============================================================================================

error message on windwos

When i run winpdg on windows i have this message πŸ‘

La syntaxe du nom de fichier, de rΓ©pertoire ou de volume est incorrecte.

Current directory:
c:\Users\Benoit\projets\tproj

Command to be executed:
"C:\WINDOWS\system32\cmd.exe" /C """C:\Python37\python.exe" "session_manager..\rpdb2.py" --debugee --pwd="i3ELQQAm" --rid=9823679 "c:\users\benoit\projets\tproj\tdebug.py" ""

ConEmuC: Root process was alive less than 10 sec, ExitCode=1.
Press Enter or Esc to close console...
I think the tools does find the file session_manager..\rpdb2.py.
I work on Windows 10
Python 3.7
and the last version of winpdb
winpdb_reborn-2.0.0.1
Successfully installed Winpdb-reborn-2.0.0.1 numpy-1.19.4 pillow-8.0.1 wxpython-4.1.0

rpdb folder not installed when using pip

Hi,

the rpdb folder with the different scripts was not installed when i used pip to install the new 2.0.0.0 version so i got the following error:
Traceback (most recent call last): File "winpdb.py", line 26, in <module> import rpdb.const ModuleNotFoundError: No module named 'rpdb'

after manually downloading the folder from here and putting it into the site-packages folder it works normally.

Thanks for the great work!

Make it clear that python3 can still be debugged by winpdb

Hi,
The README file starts with "WINPDB ON PYTHON 3 IS BUGGY AND NOT WORKING". It makes it seem like winpdb is useless for python3 users. However, I understand that this means that the GUI doesn't work on python3, but rpdb2.py does. So python3 code can be debugged by importing rpdb2.py from python3 and connecting to it from winpdb on python2.

I suggest to make this clear - I'm a heavy user of winpdb, and I am working on migrating my code from python2 to python3. This note made me think that it will mean that I have to either stop using winpdb or start working on a fix, and it's not the case.

Thanks for the good work! It helps me a lot!
Noam

Get wrong line (16) when setting a breakpoint at line 29

It runs under Python 3.8 and Windows 8.1 x64. Although it's running a previous version here, but the same result in ver 2.0.0.1 too.
The followings are the result of after adding print() in the function CalcScopeLine() to show what errors I had got:

def CalcScopeLine(self, lineno):
    print(lineno)
    rvl = copy.copy(self.m_valid_lines)  # m_valid_lines has strange result
    rvl.reverse()
    print(rvl)

    for l in rvl:  # JF@21DEC2022, this will cause a correct lineno (29) changes to an incorrect l (16)?
        if lineno >= l:
            break
    return l

-----the main window
e:\Works\Python\ttkwidgets-master\examples>py ....\rpdb2.py example_calendar.py
....\rpdb2.py:296: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's
documentation for alternative uses
import imp
RPDB2 - The Remote Python Debugger, version RPDB_2_5_0,
Copyright (C) 2005-2009 Nir Aides, 2013-2017 Philippe Fremy
Type "help", "copyright", "license", "credits" for more information.

*** Password has been set to a random password.
*** Starting debuggee...
*** Attaching to debuggee...
*** Debug Channel is NOT encrypted.
*** Successfully attached to
*** 'e:\works\python\ttkwidgets-master\examples\example_calendar.py'.
*** Debuggee is waiting at break point for further commands.
bl
List of breakpoints:

Id State Line Filename-Scope-Condition-Encoding

bp 29

bl
List of breakpoints:

Id State Line Filename-Scope-Condition-Encoding

0 enabled 16 ...\examples\example_calendar.py

list
Source lines for thread 111776 from file 'e:\works\python\ttkwidgets-master\examples\example_calendar.py':

      1  # -*- coding: utf-8 -*-
      2
      3  # Copyright (c) Juliette Monsel 2018
      4  # For license see LICENSE
      5

C> 6 from ttkwidgets import Calendar
7 import tkinter as tk
8
9 def validate():
10 sel = calendar.selection
11 if sel is not None:
12 label.configure(text='Selected date: %s' % sel.st...
13
14 window = tk.Tk()
15 calendar = Calendar(window, year=2022, month=10, selectfo...
B 16 selectbackground='red')
17 calendar.pack()
18
19 tk.Button(window, text='Select', command=validate).pack()
20 label = tk.Label(window, text='Selected date:')


-----the other window
e:\Works\Python\rpdb2.py:296: DeprecationWarning: the imp module is deprecated in favour of importlib; see the
module's documentation for alternative uses
import imp
6
[285, 284, 277, 276, 275, 273, 271, 16, 15, 14, 9, 7, 6]
29
[285, 284, 277, 276, 275, 273, 271, 16, 15, 14, 9, 7, 6]

The example_calendar.py file has only 30 lines long. What is the line 271 and aboves?
and line 29 is missing obviously

In Windows XP 32 bits Home (Python 3.4.3)

Hello. Saved the test case from here http://onreader.mdl.ru/PythonParallelProgrammingCookbook.2nd/content/Ch09.html
(Chapter 9. Python Debugging and Testing from "The Book of Python Parallel Programming Recipes", 2nd ed. In Russian)
along the path C:/1 in the winpdb_reborn_code_example.py file.
`import time
import os
from random import randint
from threading import Thread

class MyThreadClass (Thread):
def init(self, name, duration):
Thread.init(self)
self.name = name
self.duration = duration
def run(self):
print ("---> " + self.name +
" running, belonging to process ID "
+ str(os.getpid()) + "\n")
time.sleep(self.duration)
print ("---> " + self.name + " over\n")
def main():
start_time = time.time()

# Thread Creation
thread1 = MyThreadClass("Thread#1 ", randint(1,10))
thread2 = MyThreadClass("Thread#2 ", randint(1,10))
thread3 = MyThreadClass("Thread#3 ", randint(1,10))

# Thread Running
thread1.start()
thread2.start()
thread3.start()

# Thread joining
thread1.join()
thread2.join()
thread3.join()

# End 
print("End")

#Execution Time
print("--- %s seconds ---" % (time.time() - start_time))

if name == "main":
main()`

`

Successfully installed winpdb-reborn-2.0.0.1

C:\Documents and Settings\ia>cd C:\1

C:\1>python -m winpdb .\winpdb_reborn_code_example.py
23:59:47.844 rpdb2.py:6148 MainThread/2328 __setrecursionlimit(): rl = 1000
00:00:00.657 winpdb.py:3006 MainThread/2328 set_font(): Using font "Courier New"
for Console
00:00:00.688 winpdb.py:3006 MainThread/2328 set_font(): Using font "Courier New"
for Console
00:00:11.203 session_manager.py:1282 Thread-2/2196 _spawn_server(): Terminal ope
n string: 'start "rpdb2 - Version RPDB_1_5_0 - Debuggee Console" cmd.exe /K ""C:
\Python34\python.exe" "session_manager\..\rpdb2.py" --debugee --pwd="q2G_A2L
M" --rid=6268676 "c:\1\winpdb_reborn_code_example.py" "'
00:00:12.938 session_manager.py:1094 Thread-2/2196 __wait_for_debuggee(): Scanni
ng for debuggee...
00:00:17.016 session_manager.py:1094 Thread-2/2196 __wait_for_debuggee(): Scanni
ng for debuggee...
00:00:20.047 session_manager.py:1094 Thread-2/2196 __wait_for_debuggee(): Scanni
ng for debuggee...

`

Another console window started up with this text:
`

C:\Python34\python.exe: can't open file 'session_manager..\rpdb2.py': [Errno 2]
No such file or directory

C:\1>

`

https://s8.hostingkartinok.com/uploads/images/2020/09/93502ddefe8ff570043a997eb5f4eb66.jpg

Error with Python 3.3 under Linux

When using winpdb with Python 3.3, it fails with a ValueError on the module signal.

chiel@ENIAC:~/Projects$ python3.3 winpdb/rpdb2.py --debug --debuggee ~/foo.py
A password should be set to secure debugger client-server communication.
Please type a password:x
Password has been set.
11:22:35.104 rpdb2.py:14178 in StartServer: Starting server with: /home/chiel/foo.py
Traceback (most recent call last):
File "winpdb/rpdb2.py", line 14499, in
ret = rpdb2.main
File "/home/chiel/Projects/winpdb/rpdb2.py", line 14470, in main
StartServer(_rpdb2_args, fchdir, _rpdb2_pwd, fAllowUnencrypted, fAllowRemote, secret)
File "/home/chiel/Projects/winpdb/rpdb2.py", line 14212, in StartServer
g_module_main = -1
File "/home/chiel/Projects/winpdb/rpdb2.py", line 14212, in StartServer
g_module_main = -1
File "/home/chiel/Projects/winpdb/rpdb2.py", line 7324, in trace_dispatch_init
self.__set_signal_handler()
File "/home/chiel/Projects/winpdb/rpdb2.py", line 7286, in __set_signal_handler
handler = signal.getsignal(value)
File "/home/chiel/Projects/winpdb/rpdb2.py", line 13682, in __getsignal
handler = g_signal_handlers.get(signum, g_signal_getsignal(signum))
ValueError: signal number out of range
11:22:35.198 rpdb2.py:14030 in _atexit: Entered _atexit() in pid 3422
11:22:36.199 rpdb2.py:9612 in stop: Stopping IO server... (pid = 3422)
11:22:37.979 rpdb2.py:9286 in shutdown: Shutting down worker queue...
11:22:37.980 rpdb2.py:9303 in shutdown: Shutting down worker queue, done.
11:22:37.980 rpdb2.py:9634 in stop: Stopping IO server, done.

Problem reported by ctenbrinke on the newsgroup.

Problem does not show up on Windows with python 3.3 and does not show up on Linux with Python 3.2

Mismatched Passwords

Hi,

when I try to debug with Python3 and Version 2.0.0.1 I get the following error:

While attempting to find a debugee, at least one debugee denied connection because of mismatched passwords. Please verify your password.

With python2 and version 1.5.0 everything is working fine.

Greetings

Source and Console panes use unusable and not-obviously-changeable font

First time I try out winpdb-reborn, having used winpdb in the past. I installed using pip3 for a test, all dependencies satisfied by the system (debian testing).

The Code ans Conssole panes are just unusable, this font is suprising:

Screenshot_2020-04-27_21-03-28

Strace revealed the use of a .winpdb_settings.cfg file (binary content with no particular magic, OMG!), which I moved away with no better result.

Also tried with a fresh user account that never used winpdb before, and without loading a script to debug, same result.

Could not install winpdb-reborn using pip

Tried to install winpdb using "python -m pip install winpdb-reborn" but it gives and error message(see below for message)

python -m pip install winpdb-reborn
Collecting winpdb-reborn
Could not find a version that satisfies the requirement winpdb-reborn (from versions: )
No matching distribution found for winpdb-reborn

<<<

DeprecationWarning from rpdb2.py

This warning is a little annoying, particularly when I am scanning/testing for the absence of stderr output:

>>> import rpdb2
rpdb2.py:308: DeprecationWarning: the sets module is deprecated
  import sets
rpdb2.py:313: DeprecationWarning: The popen2 module is deprecated.  Use the subprocess module.
  import popen2

Here is a fix. Note - this may be needed only for 2.6, as I do not see the DeprecationWarning for the CPython 2.7 and 3.4 versions I have tried the original on

--- rpdb2.py.orig	2010-08-17 15:12:52.000000000 -0400
+++ rpdb2.py	2017-06-29 21:01:06.751002237 -0400
@@ -305,14 +305,21 @@
 
 try:
     import compiler
-    import sets
 except:
     pass
 
-try:
-    import popen2
-except:
-    pass
+if sys.version_info[:2] >= (2, 6):
+    import warnings
+    with warnings.catch_warnings():
+        warnings.filterwarnings("ignore", category=DeprecationWarning)
+        import sets
+        import popen2
+else:
+    try:
+        import sets
+        import popen2
+    except:
+        pass
 
 try:
     from Crypto.Cipher import DES

winpdb crashes with Python 3.12 at Windows

Hi,
I've installed winpdb-reborn with pip. On attempt to start, winpdb crashes every time.
My environment:

  • Windows 10
  • Python 3.12.1

Crash info from Windows Event Log:

Faulting application name: python.exe, version: 3.12.1150.1013, time stamp: 0x65724223
Faulting module name: python312.dll, version: 3.12.1150.1013, time stamp: 0x657241c8
Exception code: 0xc0000005
Fault offset: 0x000000000001812f
Faulting process id: 0x80ac
Faulting application start time: 0x01da7472273024ec
Faulting application path: C:\Program Files\Python312\python.exe
Faulting module path: C:\Program Files\Python312\python312.dll
Report Id: e42f69f6-32b2-4b3b-81eb-835d9aea9d42
Faulting package full name: 
Faulting package-relative application ID: 

Pip install fails in conda env

OS: 16.04.6
python version: 3.7.3
pip version: 19.1
conda version: 4.6.14

└─β–ͺ pip install winpdb-reborn
Collecting winpdb-reborn
  Using cached https://files.pythonhosted.org/packages/8f/f9/b25cde38dd15c590f4d4a1f3f5eb3614167deea1ee9449779347f400ed40/winpdb_reborn-2.0.0.dev5-py3-none-any.whl
Collecting wxpython>=4 (from winpdb-reborn)
  Using cached https://files.pythonhosted.org/packages/9a/a1/9c081e04798eb134b63def3db121a6e4436e1d84e76692503deef8e75423/wxPython-4.0.6.tar.gz
Requirement already satisfied: numpy in /groups/funke/home/gallusserb/miniconda3/envs/pyg_test/lib/python3.7/site-packages (from wxpython>=4->winpdb-reborn) (1.16.3)
Requirement already satisfied: pillow in /groups/funke/home/gallusserb/miniconda3/envs/pyg_test/lib/python3.7/site-packages (from wxpython>=4->winpdb-reborn) (6.0.0)
Requirement already satisfied: six in /groups/funke/home/gallusserb/miniconda3/envs/pyg_test/lib/python3.7/site-packages (from wxpython>=4->winpdb-reborn) (1.12.0)
Building wheels for collected packages: wxpython
  Building wheel for wxpython (setup.py) ... error
  ERROR: Complete output from command /groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-wh396n1v/wxpython/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-41g_588s --python-tag cp37:
  ERROR: running bdist_wheel
  running build
  WARNING: Building this way assumes that all generated files have been
  generated already.  If that is not the case then use build.py directly
  to generate the source and perform the build stage.  You can use
  --skip-build with the bdist_* or install commands to avoid this
  message and the wxWidgets and Phoenix build steps in the future.

  "/groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python" -u build.py build
  Traceback (most recent call last):
    File "build.py", line 30, in <module>
      import pathlib2
  ModuleNotFoundError: No module named 'pathlib2'
  Command '"/groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python" -u build.py build' failed with exit code 1.
  ----------------------------------------
  ERROR: Failed building wheel for wxpython
 Running setup.py clean for wxpython
Failed to build wxpython
Installing collected packages: wxpython, winpdb-reborn
  Running setup.py install for wxpython ... error
    ERROR: Complete output from command /groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-wh396n1v/wxpython/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-gujop72s/install-record.txt --single-version-externally-managed --compile:
    ERROR: running install
    running build
    WARNING: Building this way assumes that all generated files have been
    generated already.  If that is not the case then use build.py directly
    to generate the source and perform the build stage.  You can use
    --skip-build with the bdist_* or install commands to avoid this
    message and the wxWidgets and Phoenix build steps in the future.

    "/groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python" -u build.py build
    Traceback (most recent call last):
      File "build.py", line 30, in <module>
        import pathlib2
    ModuleNotFoundError: No module named 'pathlib2'
    Command '"/groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python" -u build.py build' failed with exit code 1.
    ----------------------------------------
ERROR: Command "/groups/funke/home/gallusserb/miniconda3/envs/pyg_test/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-wh396n1v/wxpython/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-gujop72s/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-wh396n1v/wxpython/

py3.6, cannot attach to remote

  File "/work/proj/ve/lib/python3.6/site-packages/rpdb2.py", line 10395, in ConnectNoThrow
    self.Connect()
  File "/work/proj/ve/lib/python3.6/site-packages/rpdb2.py", line 10406, in Connect
    server_info = server.server_info()
  File "/usr/lib/python3.6/xmlrpc/client.py", line 1112, in __call__
    return self.__send(self.__name, args)
  File "/work/proj/ve/lib/python3.6/site-packages/rpdb2.py", line 9673, in __request
    (fcompress, digest, msg) = self.m_crypto.do_crypto(args, fencrypt)
  File "/work/proj/ve/lib/python3.6/site-packages/rpdb2.py", line 4833, in do_crypto
    s = self.__encrypt(s)
  File "/work/proj/ve/lib/python3.6/site-packages/rpdb2.py", line 4873, in __encrypt
    d = DES.new(key_padded, DES.MODE_CBC, iv)
  File "/work/proj/ve/lib/python3.6/site-packages/Crypto/Cipher/DES.py", line 145, in new
    return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
  File "/work/proj/ve/lib/python3.6/site-packages/Crypto/Cipher/__init__.py", line 79, in _create_cipher
    return modes[mode](factory, **kwargs)
  File "/work/proj/ve/lib/python3.6/site-packages/Crypto/Cipher/_mode_cbc.py", line 293, in _create_cbc_cipher
    return CbcMode(cipher_state, iv)
  File "/work/proj/ve/lib/python3.6/site-packages/Crypto/Cipher/_mode_cbc.py", line 97, in __init__
    c_uint8_ptr(iv),
  File "/work/proj/ve/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 144, in c_uint8_ptr
    raise TypeError("Object type %s cannot be passed to C code" % type(data))
TypeError: Object type <class 'str'> cannot be passed to C code

Namespace not working on Python 2.7

I'm using winpdb-reborn v1.5.0 on Python 2.7.

The debugger itself seems to work, but the Namespace frame stays stubornly empty.

I found this related (and very old) issue on original winpdb sourceforge site.

However, I can't figure out how to "start the winpdb UI client with the --debug flag"?

Happy to get my hands dirty, but not sure where to start?

NB: In pdb I can "p n" to print the variable n, but I'm not sure how to do the same in rpdb2...

> eval(n)
N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.