intellij-idea - 远程调试 Idea 不适用于 openresty

标签 intellij-idea lua remote-debugging openresty

我正在使用 mobDebug。如果从命令行运行 lua 脚本,一切正常。 但是当我从 openresty 运行它们时,这个想法并没有停止。它只写“已连接/已断开” 配置:

  location / {
    access_by_lua_block {
      local client =  require("client")
  }

客户端.lua:

    local mobdebug = require("mobdebug");
    mobdebug.start()
    local lfs = require("lfs")
    print("Folder: "..lfs.currentdir())

对于所需的行,不会调用 modebug debug_hook,不会调用 set_breakpoints。

Idea 调试日志,但没有任何反应:

Idea Debug Logs: Connected/Disconnected

想法从终端client.lua捕获调试;但它在运行 nginx 时错过了它。

最佳答案

这不是答案。只是我遇到了基本相同的问题,并且评论空间太小,无法容纳我想分享的所有相关观察结果:

  1. 实际上,我能够在 nginx 中运行的代码中在 mobdebug.start() 之后立即停止,并进行单步调试 - 但仅限于直接从 init_by_lua_block 调用的代码。该代码当然会在服务器启动或配置重新加载期间执行一次。
  2. 我永远无法在工作代码中停下来(例如rewrite_by_lua_*)。 mobdebug.coro() 没有帮助,并且 mobdebug.on() 引发了“尝试跨越 C 调用边界”
  3. 我只能在 mobdebug.start() 之后的下一条语句中停止一次;一旦我点击|>(恢复程序),它就不会在任何进一步的断点处停止。

关于intellij-idea - 远程调试 Idea 不适用于 openresty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57431575/

相关文章:

c - 在 lua 和 C 之间共享数组

debugging - 如何在 Eclipse 中调试 Apache Storm?

c# - 如何将跟踪监听器附加到正在运行的进程?

php - 使用 Netbeans 和 XDebug 进行远程 PHP 调试

opengl - 使用 premake4 构建项目文件 - 如何?

c++ - 如何使用 LuaBridge 注册从同一个类继承的两个类?

intellij-idea - 将 ANTLR 语法用于 IntelliJ IDEA 代码高亮插件?

ruby-on-rails - 如何在 IntelliJ IDEA 中设置 ruby​​ SDK?

java - Intellij IDEA : synchronization of updatings in the pom-file and external libraries

java - 使用 Intellij IDEA 2016.2.4 自动缩进返回标记的 JavaDoc