1

私は OpenERP 6.1 を使用していますが、Python コードで print ステートメントを指定して Python コードをデバッグできません。

これは、OpenERP 6.0 では非常に簡単/可能でした。サーバー パスに続いてモジュール名とデータベース名を指定して、コードをデバッグします。

OpenERP 6.1でこれを達成するにはどうすればよいですか??

助けてください!!前もって感謝します..

4

5 に答える 5

2

こんにちは、ipython をインストールできます。ipython を使用すると、コマンド プロンプトで openerp 6.1 をデバッグできます。これらのパッケージが事前にインストールされていることを確認してください。

sudo apt-get install python-dateutil python-feedparser python-gdata python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi

このリストは http://www.theopensourcerer.com/2012/02/22/how-to-install-openerp-6-1-on-ubuntu-10-04-lts/から取得しました

pycharm を試すこともできます。

于 2012-04-19T09:22:07.240 に答える
2

Openerp+python コードを Eclipse でデバッグするには、デバッグ パースペクティブで Eclipse を開始し、次の手順に従います。

1: 「ctr+c」を押して、openERP を実行しているサーバーを停止します。

2: Eclipse で、[実行/デバッグ構成] メニューに移動します。「Python Run」の下の構成ウィンドウで、新しいデバッグ構成を作成します(「Python Run」をダブルクリックします)。

3: 新しいデバッグ構成を作成したら、次の手順に従います。

3.1: 「プロジェクト」の下の「メイン」タブで、ワークスペースから「サーバー」プロジェクトまたはフォルダー (Openerp サーバーが存在する) を選択します。

3.2: 「メインモジュール」の下に「openerp-server」の場所を書き込みます。

例: ${workspace_loc:server/openerp-server}。

3.3: 「プログラム引数」の下の「引数」タブで、「変数」ボタンをクリックすると、新しいウィンドウが表示されます。

3.4: 次に、「変数の編集」ボタンをクリックして新しい「変数」を作成すると、新しいウィンドウが表示されます。

3.5: 「新規」ボタンを押して、アドオンのパスを値として指定します。

例: --addons ../addons,../your_module_path

3.6: 開いているすべてのウィンドウで [OK] を押してから、[適用] を押します。

4: "PyDev Package Explorer" ビューで 6.1/server に移動し、"openerp-server" ファイルを右クリックして、[Debug As --> Python Run] を選択します。

5: 「コンソール」で、サーバーが起動したことを確認できます。

6: デバッグしたい .py ファイルを開き、ブレークポイントを設定します。

7: モジュールのフォームを 'gtk' または 'web-client' から開始すると、実行がブレークポイントに達すると実行が停止します。

8: "F5、F6、F7" を押してコードをデバッグすると、変数の値が表示されます。

于 2012-07-27T10:44:48.190 に答える
1

以下があることを確認してください。

logfile = None

これにより、標準出力からログが得られます。

それは役に立ちますか?

于 2012-04-25T16:44:17.150 に答える
1

EclipsePyDevで 6.1 サーバーを問題なく実行しています。これにより、ブレークポイントを追加して、コードをステップ実行できます。私が使用する引数は次のとおりです。

--addons-path ${workspace_loc:openerp-addons-trunk},${workspace_loc:openerp-web-trunk}/addons --config ${workspace_loc:openerp-config/src/server.config}

私が最も便利だと思う 2 つのブレークポイントは、RPC 呼び出しの両端にあります。サーバー側では、次の行にブレークポイントを配置しましたnetsvc.dispatch_rpc()

result = ExportService.getService(service_name).dispatch(method, params)

クライアントを頻繁にデバッグすることはありません。また、すべてのリクエストが同じパスを通過するわけではありませんが、便利なブレークポイントの 1 つはrpc.tinySocket_gw.execute().

もちろん、これらのブレークポイントはどちらも大量のトラフィックを参照するため、慣れていない機能を調べている場合にのみ使用し、コードがどこで実行されるかはわかりません。ブレークポイントに条件を設定して、特定のモデルまたはパラメーター値に対してリクエストが届いたときにのみトリガーされるようにすることも役立ちます。

私が使用する設定ファイルは次のとおりです。

[options]
debug_mode = False

admin_passwd = ******
db_user = ******
db_password = *******
price_accuracy = 5
smtp_server = **********
ftp_server_port = 8022
ftp_server_passive_ports = 8192:8447
translate_data = False
#log_level = debug_rpc_answer
于 2012-04-10T16:43:27.310 に答える