You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何配置Emacs dap mode调试Odoo 14项目?

使用Emacs dap-mode调试Odoo 14的配置方案

方案一:直接通过dap-mode启动Odoo进程(规避attach限制)

既然dap-mode暂不支持Python的attach请求,直接用它启动Odoo进程是最稳妥的方式,步骤如下:

  1. 配置自定义调试模板
    在你的Emacs配置文件(如~/.emacs.d/init.el)中添加以下代码,创建专属的Odoo调试项:

    (require 'dap-python)
    (dap-register-debug-template
     "Odoo 14 Debug"
     (list :type "python"
           :args "-c ./plusinn.cfg"
           :program "/path/to/odoo/odoo-bin"
           :name "Odoo 14 Debug"))
    

    替换代码里的/path/to/odoo/odoo-bin为你实际的Odoo启动文件路径,./plusinn.cfg为项目配置文件路径。

  2. 启动调试

    • 打开Odoo项目内任意Python业务文件(比如模块的.py文件)
    • 按M-x输入dap-debug,选择刚创建的Odoo 14 Debug模板
    • dap-mode会自动拉起Odoo进程并附加调试器,此时可正常设置断点、单步执行等

方案二:手动启动debugpy+通用调试客户端连接

如果坚持要用手动启动debugpy的方式,可借助dap-mode的通用调试客户端实现连接:

  1. 启动debugpy服务
    在终端执行你的命令(建议指定本地地址避免网络问题):

    python -m debugpy --listen 127.0.0.1:1096 --wait-for-client /path/to/odoo/odoo-bin -c ./plusinn.cfg
    

    执行后进程会暂停,等待调试客户端连接。

  2. 配置通用连接模板
    在Emacs配置中添加:

    (dap-register-debug-template
     "Attach to Odoo Debugpy"
     (list :type "debugpy"
           :request "attach"
           :name "Attach to Odoo Debugpy"
           :host "127.0.0.1"
           :port 1096))
    
  3. 连接调试服务

    • 按M-x输入dap-debug,选择Attach to Odoo Debugpy模板
    • 成功连接后即可对已启动的Odoo进程进行调试

调试注意事项

  • 断点要设置在Odoo实际会触发的业务逻辑代码上,避免放在初始化类/方法中导致断点不生效
  • 若连接失败,检查debugpy监听的地址、端口是否与Emacs配置一致,同时确认本地防火墙未拦截端口
  • 调试前关闭其他Odoo运行实例,避免进程冲突或端口占用

内容的提问来源于stack exchange,提问作者user1632812

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:55:31