Не удается заставить удаленную отладку PyDev работать с Eclipse

#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
 

И после этого я мог бы снова отлаживать.