【问题标题】:How can I debug odoo 9 in eclipse? [Linux]如何在 Eclipse 中调试 odoo 9? [Linux]
【发布时间】:2016-09-12 12:22:17
【问题描述】:

我在 Linux Ubuntu 16.04 中有 Eclipse Neon

当我运行 odoo 服务器时,它在端口 8069 中一切正常

但是,当我调试同一个 odoo 服务器时(现在,端口是 8072),它似乎死在一个无限循环中。在浏览器中没有出现任何东西(等待 localhost...),并且日志显示如下:

...
25138 INFO mydb openerp.modules.loading: 81 modules loaded in 0.73s, 0 queries
25138 INFO mydb openerp.modules.loading: Modules loaded.
25138 INFO mydb openerp.addons.base.ir.ir_http: Generating routing map
192.168.1.31 - - [2016-09-12 12:14:51] "GET / HTTP/1.1" 200 24082 21.358104
25138 INFO mydb openerp.addons.bus.models.bus: Bus.loop listen imbus on db postgres

这是我的 odoo9-server.conf(重命名为 openerp-server.conf):

[options]
admin_passwd = myAdminPass
db_host = False
db_port = False
db_user = myUserName
db_password = myDatabasePass
addons_path = /etc/odoo/server/addons,/etc/odoo/server/addons_extra
logfile = None
xmlrpc_port = 8069
log_level = debug

有什么问题吗?

【问题讨论】:

    标签: eclipse openerp odoo-9


    【解决方案1】:

    要在 Eclipse 中调试您的 odoo+python 代码,请在调试透视图中启动 Eclipse 并按照给定的步骤操作:

    1:按“ctr+c”停止运行 Odoo 的服务器。

    2:在 Eclipse 中,转到菜单“运行/调试配置”。在“Python Run”下的配置窗口中,创建新的调试配置(双击“Python Run”)。

    3:创建新的调试配置后,请按照给定的步骤操作:

    3.1:在“项目”下的“主”选项卡中,从您的工作区中选择“服务器”项目或文件夹(Odoo Server 所在的文件夹)。

    3.2:在“主模块”下写入“openerp-server”或“odoo.py”的位置。

    例如:${workspace_loc:odoo/openerp-server}。 3.3:在“程序参数”下的“参数”选项卡中,单击“变量”按钮,将出现新窗口。

    3.4: 然后点击“Edit Variables”按钮创建新的“Variable”,会出现新窗口。

    3.5:点击“新建”按钮,并将您的插件路径作为值。

    例如:--addons ../addons,../your_module_path 3.6:在所有打开的窗口中点击确定,然后点击“应用”。

    4:现在进入“PyDev 包资源管理器”视图,转到 odoo 并右键单击“openerp-server”或 odoo.py 文件,选择“Debug As --> Python Run”。

    5:现在在“控制台”中您可以看到您的服务器已经启动。

    6:现在打开要调试的 .py 文件并设置断点。

    7:现在从 'gtk' 或 'web-client' 启动模块的表单,当执行到达断点时,执行将停止。

    8:现在通过按“F5、F6、F7”来调试您的代码,您可以看到变量的值。

    来源:https://stackoverflow.com/a/12298831/1312904

    【讨论】:

    • 我一步步跟着,结果是一样的。
    【解决方案2】:

    要调用 pdb,请添加此行

    import pdb; pdb.set_trace() 任何你想设置断点的地方

    然后设置 --debug 标志开始你的 odoo,类似于

    ./odoo.py --addons=addons,myaddons --debug
    

    然后,当您在服务器上执行到达您调用pdb 的点的操作时,执行将立即停止,您将获得一个可用于调试的 pdb 提示

    【讨论】:

      【解决方案3】:

      我终于找到了解决办法。

      在 Debug Configurations 中,我更改了 Main Module 的内容并写了这个:

      ${workspace_loc:my_project/openerp-gevent}
      

      重要的部分是 openerp-gevent

      现在,调试工作正常

      【讨论】:

        猜你喜欢
        • 2016-10-04
        • 2016-07-02
        • 2011-06-21
        • 1970-01-01
        • 2010-10-24
        • 1970-01-01
        • 1970-01-01
        • 2010-09-19
        • 1970-01-01
        相关资源
        最近更新 更多