wiki.zope.jp
ZOPEDEBUG
   
RecentChanges WikiHelp WikiPractice JumpSearch

ZOPEDEBUG

Zopeをdebugする方法あれこれ。

なにはともあれ、Zopeに付属の

上2つ以外でも、付属のドキュメントを読んでおいてソンはないです。

そして、Zope Developer's Guide を読んでおくとハッピーに。

これらの内容のことは、おいおい書いていきます。

Medusa Monitor を使う方法

localhost から medusa monitor port に接続して、 インタラクティブな python プロンプト を使った デバッグができます。

Zopeの emergency user を作ります。:

    $ python zpasswd.py access
        Username:
        Password:
        Verift password:
        Please choose a format form:

        SHA - SHA-1 hashed password
        CRYPT - UNIX-style crypt password
        CLEARTEXT - no protection

ここで、暗号化をしない、CLEARTEXT を選択してください。

次に、medusa monitor のポートを開くオプションを付けて Zope を起動します。

-m ポート番号

ZServer/medusa/monitor_client.py を実行します。 (Windowsユーザは、monitor_client_win32.py ):

    $ python ./ZServer/medusa/monitor_client.py localhost ポート番号
        Enter Password:

ここで、設定済みの emergency userの パスワードを入力します。すると、python の プロンプトが開きます。あとは以下のように Zope をインポートして、なんでもできますね。:

    >>> import Zope
    >>> app=Zope.app()
    >>> dir(app.Control_Panel.Products)
    ['ExternalMethod', 'Hotfix_2002-03-01', 'MIMETools', 'MailHost', 'OFSP', 'PageTemplates', 'PluginIndexes', 'Poll', 'PythonScripts', 'Sessions', 'SiteAccess', 'StandardCacheManagers', 'TemporaryFolder', 'Transience', 'ZCatalog', 'ZGadflyDA', 'ZSQLMethods', 'ZopeTutorial', '_objects']

デバッグセッションを開いてから、最新のODBに合せるには、:

    >>> app._p_jar.sync()

デバッグセッション側の操作を ODB に反映させるには、:

    >>> get_transaction().commit()

とやれば、いいみたいです。

続きは、また。。。。

Last edited Mon, 11 Sep 2006 13:59:42 +0900 Edit this page