def start(self): ## self.breaks = BreakPointManager() self.started = True self.bend = DBGP(self.settings, self.ui.windows['log'].write, self._type) for key, value in self.handle.bind(self).iteritems(): if callable(value['function']): fn = value['function'] else: tmp = self for item in value['function'].split('.'): tmp = getattr(tmp, item) fn = tmp self.bend.addCommandHandler(key, fn) self.bend.addCommandHandler('<stream>', self.ui.windows['output'].add) if not self.bend.connect(): print textwrap.dedent('''\ Unable to connect to debug server. Things to check: - you refreshed the page during the 5 second period - you have the xdebug extension installed (apt-get install php5-xdebug on ubuntu) - you set the XDEBUG_SESSION_START cookie - "xdebug.remote_enable = 1" is in php.ini (not enabled by default) If you have any questions, look at http://tech.blog.box.net/2007/06/20/how-to-debug-php-with-vim-and-xdebug-on-linux/ ''') return False self.ui.startup() self.bend.get_packets(1) self.bend.command('feature_set', 'n', 'max_children', 'v', self.settings['max_children']) self.bend.command('feature_set', 'n', 'max_data', 'v', self.settings['max_data']) self.bend.command('feature_set', 'n', 'max_depth', 'v', self.settings['max_depth']) self.bend.command('stdout', 'c', '1') self.bend.command('stderr', 'c', '1') for name in ('max_children', 'max_data', 'max_depth'): self.bend.command('feature_set', 'n', name, 'v', self.settings[name], suppress=True) self.bend.command('step_into') self.bend.command('context_get') self.bend.command('stack_get') self.bend.command('status') self.ui.go_srcview()