debug php使用vim和xdebug,时间设置

时间:2012-04-03 14:31:33

标签: php vim xdebug

我使用vim + xdebug来调试php。如果调试操作浪费了很长时间,vim将失去与xdebug的连接,我必须按 F5 重启调试,然后再从第一步开始。那么如何为调试过程设置更长的时间呢?

2 个答案:

答案 0 :(得分:3)

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

在我的插件版本中,恰好是debugger.py的第556行。如果您有所不同,只需在Vim中搜索5second

更新

也在第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

答案 1 :(得分:3)

您可以尝试我的插件 - DBGPavim

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

DBGPavim没有这样的限制,因此VIM用户不需要等待来自apache服务器的连接。没有超时的事情,用户按F5启动调试器后端,并正常使用他/她的VIM。调试后端不会阻止用户与VIM交互。用户可以随时按F6停止调试器后端。