如何在 eclipse 中调试 odoo 9? [Linux]
How can I debug odoo 9 in eclipse? [Linux]
我在 Linux Ubuntu 16.04
有日食霓虹灯
当我运行一个odoo服务器时,它在端口8069上一切正常
但是,当我调试同一个 odoo 服务器时,(现在,端口是 8072)它似乎陷入无限循环。在浏览器中没有出现任何东西(等待本地主机...),日志显示:
...
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 中调试 odoo+python 代码,请在调试透视图中启动 eclipse 并按照给定的步骤操作:
1:按 "ctr+c" 停止您的 Odoo 运行 服务器。
2:在 Eclipse 中转到菜单 "Run/Debug Configurations"。在 "Python Run" 下的配置 window 中,创建新的调试配置(双击 'Python Run')。
3:创建新的调试配置后,请按照给定的步骤操作:
3.1:在 "Project" 下的 "Main" 选项卡中,select 您工作区中的 "server" 项目或文件夹(Odoo Server 所在的文件夹)。
3.2: 在"Main Module"下写入'openerp-server'或'odoo.py'的位置。
例如:${workspace_loc:odoo/openerp-server}。
3.3: 在 "Program Arguments" 下的 "Arguments" 选项卡中,单击按钮 "Variables" 将出现新的 window。
3.4:然后点击"Edit Variables"按钮创建新的"Variable",然后会出现新的window。
3.5: 按 "New" 按钮并给你的插件路径作为值。
例如:--addons ../addons,../your_module_path
3.6: 在所有打开的windows中按Ok然后"Apply".
4:现在进入 "PyDev Package Explorer" 视图,转到 odoo 并右键单击 "openerp-server" 或 odoo.py 文件,Select 'Debug As --> Python Run'.
5:现在在"Console"你可以看到你的服务器已经启动了。
6: 现在打开你要调试的.py文件并设置一个断点。
7: 现在从 'gtk' 或 'web-client' 开始你的模块的表单,执行将在执行到断点时停止。
8:现在通过按 "F5, F6, F7" 调试您的代码,您可以看到变量的值。
来源:
要调用 pdb,请添加此行
import pdb; pdb.set_trace()
任何你想设置断点的地方
然后使用 --debug
标志集启动你的 odoo,类似于
./odoo.py --addons=addons,myaddons --debug
然后当您在服务器上执行一个操作,该操作达到您调用 pdb
的点时,执行将立即停止,您将看到一个 pdb 提示符,您可以使用它来调试
终于找到解决办法了
在调试配置中,我更改了主模块的内容,并这样写:
${workspace_loc:my_project/openerp-gevent}
重要的部分是 openerp-gevent
现在,调试工作正常
我在 Linux Ubuntu 16.04
有日食霓虹灯当我运行一个odoo服务器时,它在端口8069上一切正常
但是,当我调试同一个 odoo 服务器时,(现在,端口是 8072)它似乎陷入无限循环。在浏览器中没有出现任何东西(等待本地主机...),日志显示:
...
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 中调试 odoo+python 代码,请在调试透视图中启动 eclipse 并按照给定的步骤操作:
1:按 "ctr+c" 停止您的 Odoo 运行 服务器。
2:在 Eclipse 中转到菜单 "Run/Debug Configurations"。在 "Python Run" 下的配置 window 中,创建新的调试配置(双击 'Python Run')。
3:创建新的调试配置后,请按照给定的步骤操作:
3.1:在 "Project" 下的 "Main" 选项卡中,select 您工作区中的 "server" 项目或文件夹(Odoo Server 所在的文件夹)。
3.2: 在"Main Module"下写入'openerp-server'或'odoo.py'的位置。
例如:${workspace_loc:odoo/openerp-server}。 3.3: 在 "Program Arguments" 下的 "Arguments" 选项卡中,单击按钮 "Variables" 将出现新的 window。
3.4:然后点击"Edit Variables"按钮创建新的"Variable",然后会出现新的window。
3.5: 按 "New" 按钮并给你的插件路径作为值。
例如:--addons ../addons,../your_module_path 3.6: 在所有打开的windows中按Ok然后"Apply".
4:现在进入 "PyDev Package Explorer" 视图,转到 odoo 并右键单击 "openerp-server" 或 odoo.py 文件,Select 'Debug As --> Python Run'.
5:现在在"Console"你可以看到你的服务器已经启动了。
6: 现在打开你要调试的.py文件并设置一个断点。
7: 现在从 'gtk' 或 'web-client' 开始你的模块的表单,执行将在执行到断点时停止。
8:现在通过按 "F5, F6, F7" 调试您的代码,您可以看到变量的值。
来源:
要调用 pdb,请添加此行
import pdb; pdb.set_trace()
任何你想设置断点的地方
然后使用 --debug
标志集启动你的 odoo,类似于
./odoo.py --addons=addons,myaddons --debug
然后当您在服务器上执行一个操作,该操作达到您调用 pdb
的点时,执行将立即停止,您将看到一个 pdb 提示符,您可以使用它来调试
终于找到解决办法了
在调试配置中,我更改了主模块的内容,并这样写:
${workspace_loc:my_project/openerp-gevent}
重要的部分是 openerp-gevent
现在,调试工作正常