#python #eclipse #pydev
#python #eclipse #pydev
Вопрос:
Каждый раз, когда я запускаю сервер отладки и пытаюсь добавить точку останова в свой код, я получаю:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pydev/pydevd.py", line 711, in processNetCommand
breakpoint_id = int(breakpoint_id)
ValueError: invalid literal for int() with base 10:
'C:\Usersblahblah\blah\blah\blah\debugger.py'
Я использую удаленную отладку PyDev.
Комментарии:
1. Попробуйте вставить соответствующий код!
2. Это происходит, если я добавляю точку останова в любую строку, не имеет значения код, даже если это пустая строка.
Ответ №1:
Похоже, что интерфейс Java, который предоставляет правильные данные в PyDevd, изменился. Идентификатор точки останова, похоже, больше не добавляется к строке, содержащей информацию о файле, номере строки, функции и состоянии.
Мне удалось заставить его работать, изменив функцию processNetCommand в pysrc/pydevd.py досье.
Я изменил эти строки (связанные с добавлением точки останова):
710 breakpoint_id, file, line, condition = text.split('t', 3)
711 breakpoint_id = int(breakpoint_id)
в
710 file, line, condition = text.split('t', 2)
711 breakpoint_id = seq
И это (необходимо для удаления точки останова):
753 breakpoint_id, file = text.split('t', 1)
754 breakpoint_id = int(breakpoint_id)
в
753 file = text.split('t', 1)
754 breakpoint_id = seq
И после этого я мог бы снова отлаживать.