【发布时间】:2018-01-16 15:48:34
【问题描述】:
如何在 OpenERP v7 中进行调试?
在以前的 OpenERP 版本中,它很容易调试。但是在最新版本中很难调试。
【问题讨论】:
-
上个版本怎么调试的?
如何在 OpenERP v7 中进行调试?
在以前的 OpenERP 版本中,它很容易调试。但是在最新版本中很难调试。
【问题讨论】:
要在 Eclipse 中调试您的 OpenERP+python 代码,请在调试透视图中启动 Eclipse(仅限 helios/indigo)并按照给定的步骤操作:
1:按“ctr+c”停止你的openERP运行服务器。
2:在 Eclipse 中,转到菜单“运行/调试配置”。在“Python Run”下的配置窗口中,创建新的调试配置(双击“Python Run”)。
3:创建新的调试配置后,请按照给定的步骤操作:
3.1:在“项目”下的“主”选项卡中,从您的工作区中选择“服务器”项目或文件夹(Openerp Server 所在的文件夹)。
3.2:在“主模块”下写入“openerp-server”的位置。
Ex: ${workspace_loc:server/openerp-server}.
3.3:在“程序参数”下的“参数”选项卡中,单击“变量”按钮,将出现新窗口。
3.4: 然后点击“Edit Variables”按钮创建新的“Variable”,会出现新窗口。
3.5:点击“新建”按钮,并将您的插件路径作为值。
Ex: --addons ../addons,../your_module_path
3.6:在所有打开的窗口中按确定,然后“应用”。
4:现在进入“PyDev Package Explorer”视图,转到 6.1/server 并右键单击“openerp-server”文件,选择“Debug As --> Python Run”。
5:现在在“控制台”中您可以看到您的服务器已经启动。
6:现在打开要调试的 .py 文件并设置断点。
7:现在从 'gtk' 或 'web-client' 启动模块的表单,当执行到达断点时,执行将停止。
8:现在通过按“F5、F6、F7”来调试您的代码,您可以看到变量的值。
您可以参考以下链接:Debug OpenERP Code from Eclipse
【讨论】:
openerp-server.py (v6.0), openerp-server (v6.1, v7) 'Debug As --> Python Run'。从日食。之后服务器配置将自动完成,您只需按照步骤 3.5 中给出的方式提供插件路径:3.5
转到管理员(右上角),点击About OpenERP,您将找到一个链接Activate the Developer Mode。
或者
您可以在 URL 中添加参数debug,例如
http://localhost:8069/?debug
这两种方式都会让你打开开发者模式。
您还可以使用Odoo Debug pro chrome extension 使用键盘快捷键切换开发者模式。
【讨论】:
要从 Eclipse 中调试 openERP 7,只需停止 openERP 服务器并重命名名为 openerp-server.py 的主文件。从“运行/调试配置”中选择项目和主模块进行新配置,例如 ${workspace_loc:openerp7/src /openerp-server.py} 然后按 Apply。之后 /openerp7/src/openerp-server.py 'Debug As --> Python Run' 使用新配置。服务器正在运行 pydev 调试器也已启动。现在运行 'gtk '或'web-client'。然后选择要调试的模块的python文件并给出断点。就是这样。
【讨论】:
调试在界面上非常简单。
对于程序员
默认情况下,当您登录到 openerp 时,您的 url 将如下所示
http://localhost:7373/?db=Test_July_25#menu_id=107&action=97
编辑网址并添加 debug=&
localhost:7373/?debug=&db=Test_July_25#menu_id=107&action=97
面向功能用户
你现在应该完成接口调试了。
用于代码调试(连同 arya 的方法,这些图片可能会对您有所帮助)
最后在代码中必要的地方放置断点
【讨论】:
浏览
管理员(右上)>>关于OpenERP
对话框打开点击激活开发者模式
【讨论】:
通过添加更多花哨的工具,它们更复杂,控制更少,尝试使用低级并使用 python pdb,如果你是调试极客,那么使用带有 pdb 的 winpdb,它可以极大地控制你的代码导航。
对于简单的值 abd 流,请使用 python 中的 print 或 pprint 模块。
最好的。
【讨论】:
激活调试模式并使用一些打印语句来调试变量值
【讨论】: