Skip to main content

Trigger a pdb in a running zope via a USR1 signal

Project description

Introduction

This package allows one to perform various debugging and development actions on a running Zope instance. In order to perform an action one must:

  1. Insert a command into a special control file. To determine which file to look in, mr.freeze will take the Zope pid file and replace the extension with ‘.freeze’. So in a typical buildout the control file would be var/instance.freeze
  2. Send a USR1 signal to the Zope instance.

This pattern is intended to support integration with editors like TextMate and emacs, but that hasn’t been implemented yet.

Commands

The following commands are currently supported in both debug and non-debug mode.

stack
Will dump a stack backtrace for all threads to the console. (Default command if unable to read freeze file.)
pony
Will dump a pony to the console.

The following commands are supported in debug mode only.

freeze
Will drop Zope to a pdb debug prompt.
freeze [file] [line #]
Will set a pdb breakpoint on the specified line.

The following commands are planned.

reload code
Will reload code that has been modified.
reload zcml
Will reload code and ZCML that has been modified.

Editor integration

Please see r82128 for some preliminary information regarding TextMate integration or watch the quick demo screen cast.

Credits

  • David Glick
  • Andreas Zeidler

Thanks to those who have helped provide the foundation for this package:

  • Products.signalstack: Wichert Akkerman
  • Products.PDBDebugMode: Ross Patterson
  • z3c.deadlockdebugger: Malthe Borch
  • DeadlockDebugger: Florent Guillaume
  • threadframe: Fazal Majid

Changelog

1.0a3 (2009-03-19)

  • Fix the adjusted patch from 1.0a2 so that we actually return responses. :-> [davisagli]

1.0a2 (2009-03-19)

  • Be a little more careful about patching ZPublisher’s call_object, so that we can coexist with PDBDebugMode.
  • Use canonical path of files passed to the freeze command.
  • Fixes for TextMate integration script. [witsch]

1.0a1 (2009-03-12)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
mr.freeze-1.0a3.tar.gz (6.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page