zoukankan      html  css  js  c++  java
  • lua远程调试 Remote Debug

    日常的debug

    当把一个本地项目部署到远程测试服务器后有可能出现意想不到错误,为了排查问题可能会变成:

    这样:

    然后这样:

    最后就:

    最可怕的是,由于堆栈的关系,很难在一次debug日志中拿到想要的信息,往往是一层层往下打日志,才能拿到想要的debug信息。

    remote debug

    本地服务器开放端口,将远程服务器的断点信息打到本地服务器。

    那具体如何实现呢?

    jetbrains的“EmmyLua”插件 + mobdebug库

    本地jetbrains增加EmmyLua插件安装

    远端服务器增加mobdebug包放到项目debug目录下,并增加配置信息

    https://github.com/pkulchenko/MobDebug/blob/master/src/mobdebug.lua

    local mobdebug = require("debug.mobdebug");
    mobdebug.rbasedir("/usr/local/openresty/nginx/lua/")  -- remote
    mobdebug.lbasedir("/Users/wilburxu/lua/test/")  -- local
    mobdebug.start("host.docker.internal", 28172);
    


    ps:断点信息发回的是远端服务器的line,所以本地服务器要保证和远端服务器的line一致。

    本地添加调试configuration

    发送请求

    就可以得到我们想要的堆栈信息了。

  • 相关阅读:
    python笔记目录
    Django 的View(视图)系统
    051_Bootstrap 框架
    050_jQuery 事件
    049_jQuery 操作标签
    048_jQuery
    016-递归函数
    047_BOM_DOM
    046_JS
    045_CSS
  • 原文地址:https://www.cnblogs.com/wilburxu/p/14685242.html
Copyright © 2011-2022 走看看