EmmyLua / IntelliJ-EmmyLua

Lua IDE/Debugger Plugin for IntelliJ IDEA
https://emmylua.github.io
Apache License 2.0
1.72k stars 285 forks source link

总是命中未打断点位置 #536

Open wang573287909 opened 1 year ago

wang573287909 commented 1 year ago

Environment(环境)

name version
IDEA version [IDEA 2023.1.1-231.8770.65]
EmmyLua version [1.4.0.41-IDEA231]
OS [22H2, Windows 10]

What are the steps to reproduce this issue?(重现步骤?)

  1. 在一处地方打断点
  2. 在Unity调试过程中修改代码
  3. 取消断点后重新附加到Unity进程

What happens?(出现什么问题?)

一直命中之前打断点的行数,无论如何都无法取消,只能重启电脑。

What were you expecting to happen?(期望?)

可以合理的取消断点,并不会命中未打断点的位置

Any logs, error output, etc?(有没有什么log, error输出?)

没有

Any other comments?(其它说明)

CppCXY commented 1 year ago

对于异常命中的断点主要原因是插件对断点有残留,你可以对异常命中的位置直接加一个断点然后再取消

CppCXY commented 1 year ago

这个残留主要是因为在调试时编辑代码, 导致断点位移, 触发了IDE的相关事件, IDE会先移除老断点, 再新增一个断点.但是IDE给过来移除的断点的位置是新的位置,而不是老的位置.导致这里无法正确移除老断点. 可能需要追踪这个断点对象才能处理这个事情. 我记得之前试图改过, 但是好像没改对.

wang573287909 commented 1 year ago

是的,之前这样是能取消掉大部分命中的地方。但是有少数地方这样做不行。

CppCXY commented 1 year ago

从release 下载1.5.1版本的调试器看看,

wang573287909 commented 1 year ago

从release 下载1.5.1版本的调试器看看,

我使用emmylua时间比较短,且我是Unity开发者,好像附加进程调试不需要用到EmmyLuaDebugger

CppCXY commented 1 year ago

emmylua附加调试用的调试器就是来自EmmyLuaDebugger项目