我在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 回答
最后我得到了解决方案 .
在调试配置中,我更改了主模块的内容,我写了这个:
重要的是 openerp-gevent
现在,调试工作正常
要在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
要调用pdb,请添加此行
import pdb; pdb.set_trace()
您想要设置断点的任何地方然后用
--debug
标志设置开始你的odoo,类似于然后当您在服务器上执行某个操作时,该操作会到达您调用的点
pdb
,执行将立即停止并且您将有一个可用于调试的pdb提示符