如何在eclipse中调试Odoo9?[Linux]

如何在eclipse中调试Odoo9?[Linux],eclipse,openerp,odoo-9,Eclipse,Openerp,Odoo 9,我在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 ope

我在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(重命名为openerpserver.conf):


有什么问题吗?

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

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

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

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

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

3.2:在“主模块”下写入“openerp服务器”或“odoo.py”的位置

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

3.4:然后单击“编辑变量”按钮创建新的“变量”,新窗口将出现

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

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

4:现在进入“PyDev Package Explorer”视图,转到odoo,右键单击“openerp服务器”或odoo.py文件,选择“调试为-->Python运行”

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

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

7:现在从“gtk”或“web客户端”启动模块表单,当执行达到断点时,执行将停止

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


来源:

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

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

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

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

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

3.2:在“主模块”下写入“openerp服务器”或“odoo.py”的位置

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

3.4:然后单击“编辑变量”按钮创建新的“变量”,新窗口将出现

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

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

4:现在进入“PyDev Package Explorer”视图,转到odoo,右键单击“openerp服务器”或odoo.py文件,选择“调试为-->Python运行”

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

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

7:现在从“gtk”或“web客户端”启动模块表单,当执行达到断点时,执行将停止

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


来源:

要调用pdb,请添加此行

导入pdb;pdb.set_trace()
任何要设置断点的位置

然后用
--debug
标志集启动您的odoo,类似于

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

然后,当您在服务器上执行一个操作,该操作到达您调用
pdb
的点时,执行将立即停止,您将得到一个pdb提示符,您可以使用它来调试要调用pdb,请添加此行

导入pdb;pdb.set_trace()
任何要设置断点的位置

然后用
--debug
标志集启动您的odoo,类似于

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

然后,当您在服务器上执行一个操作,该操作到达您调用
pdb
的点时,执行将立即停止,您将得到一个pdb提示符,您可以使用它来调试最终我得到了解决方案

在调试配置中,我更改了主模块的内容,并编写了以下内容:

${workspace_loc:my_project/openerp-gevent}
重要的部分是openerp gevent


现在,调试工作正常

我终于找到了解决方案

在调试配置中,我更改了主模块的内容,并编写了以下内容:

${workspace_loc:my_project/openerp-gevent}
重要的部分是openerp gevent


现在,调试工作正常了

我一步一步地进行,结果是一样的。我一步一步地进行,结果是一样的。