отладка php использовать vim и xdebug, установка времени - PullRequest
1 голос
/ 03 апреля 2012

Я использую vim + xdebug для отладки php. Если операция отладки тратится много времени, vim потеряет соединение с xdebug, и мне придется перезапустить отладку, нажав F5 и сделать это снова с первого шага. Так как я могу установить более длительное время для процедуры отладки?

Ответы [ 2 ]

3 голосов
/ 13 сентября 2012

Вы можете попробовать мой плагин - DBGPavim

http://www.vim.org/scripts/script.php?script_id=4059

DBGPavim не имеет такого ограничения, поэтому пользователям VIM не нужно ждать подключения с сервера apache. Нет времени ожидания, пользователи нажимают клавишу F5, чтобы запустить отладчик, и обычно используют его / ее VIM. Серверная часть отладки не остановит взаимодействие пользователей с VIM. Пользователи могут нажать F6, чтобы в любой момент остановить бэкэнд отладчика.

3 голосов
/ 04 апреля 2012

Тайм-аут на 5 секунд жестко запрограммирован в debugger.py. Вы можете увеличить его, изменив следующую строку:

  def accept(self):
    print 'waiting for a new connection on port '+str(self.port)+' for 5 seconds...'
    serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    try:
      serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
      serv.bind(('', self.port))

      # Set a higher timeout here...
      serv.listen(5)
      (self.sock, address) = serv.accept()
    except socket.timeout:
      serv.close()
      self.stop()
      print 'timeout'
      return

В моей версии плагина это строка 556 файла debugger.py. Если ваши различия отличаются, просто поищите в Vim 5 или second.

Обновление:

Также нашел его в строке 666

  def __init__(self, port = 9000, max_children = '32', max_data = '1024', max_depth = '1', minibufexpl = '0', debug = 0):
    """ initialize Debugger """

    # Probably need to increase here too...
    socket.setdefaulttimeout(5)
    self.port       = port
    self.debug      = debug
...