odoo13在PyCharm上能运行后,如何进行单步调试呢?关键的一步是在源码中找到resetlocale()这个方法,加一条语句:ln = ln[0:ln.index(’.’)]
代码如下:
def resetlocale():
# locale.resetlocale is bugged with some locales.
for ln in get_locales():
try:
ln = ln[0:ln.index('.')]
return locale.setlocale(locale.LC_ALL, ln)
except locale.Error:
continue
完成这步就可以进行断点调试了。
下面例子是断点调试 销售模块->以邮件发送 按钮里面的代码:
首先是将odoo13进入调试模式,操作步骤如下:
点 2 会出现调试菜单,选择 Edit view: Form
在 结构 页里面看到一段xml,找到 Send by Email ,前面的 action_quotation_send 就是这个按钮的对应方法名称。
切换到PyCharm,Edit->Find->Find in Path
加上断点后,点右上角的红框内虫子,以debug方式来运行,再切换到odoo的销售操作界面点 Send by Email 按钮,即可进入断点调试模式。
2020-10-7补充:
今天在odoo12上调试,不需要添加上述的句子ln = ln[0:ln.index(’.’)],也可以调试。