actboy168 / lua-debug

Lua Debug Adapter for Visual Studio Code
MIT License
439 stars 95 forks source link

调试luajit异常 #196

Closed w4454962 closed 2 years ago

w4454962 commented 2 years ago

"request": "launch", "luaVersion": "jit"

执行到 ::CONTINUE:: 时 触发崩溃, x86/x64 都会。

actboy168 commented 2 years ago

如果不是使用调试器自带的luajit的话,你得自己重新编译调试器

w4454962 commented 2 years ago

没懂, 就是 使用调试器自带的luajit 然后执行到 goto的标记位置的语法 ::CONTINUE:: 的时候 会产生崩溃、

w4454962 commented 2 years ago

当然我自己单独编译luajit , 同时不使用调试器 是没这个问题的。

actboy168 commented 2 years ago

来个栗子?

w4454962 commented 2 years ago

查到原因了, 不是调试器的问题, 主要问题是 luajit的goto 跟lua有差异化引起的问题

例如这样

`

print(11111)

local i = 0 while true do i = i + 1 if i < 10 then goto CONTINUE end

print(2222222)

--do break end break

::CONTINUE::

end

print(333333)

` 这样的代码在lua里是可以正确执行的, luajit却不行 将 break改成 do break end 就正常了

算是我自己问题。