首页 文章

如何在eclipse中调试odoo 9? [Linux的]

提问于
浏览
0

我在Linux Ubuntu 16.04中浏览了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

有什么不对?

3 回答

  • 0

    最后我得到了解决方案 .

    在调试配置中,我更改了主模块的内容,我写了这个:

    ${workspace_loc:my_project/openerp-gevent}
    

    重要的是 openerp-gevent

    现在,调试工作正常

  • 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:然后单击“编辑变量”按钮创建新的“变量”,将出现新窗口 .

    3.5:按“新建”按钮,将您的插件路径作为值 .

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

    4:现在进入“PyDev Package Explorer”视图转到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

  • 1

    要调用pdb,请添加此行

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

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

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

    然后当您在服务器上执行某个操作时,该操作会到达您调用的点 pdb ,执行将立即停止并且您将有一个可用于调试的pdb提示符

相关问题