Visual studio code 显示变量时如何获取当前帧ID?

Visual studio code 显示变量时如何获取当前帧ID?,visual-studio-code,Visual Studio Code,我使用vscode扩展实现了一个lua调试器。但是,我在显示变量时遇到了一个问题 断点处显示的变量根据堆栈帧ID进行切换。当显示变量时,我需要获得正确的frameid 第一次切换到某个堆栈级别时,我可以通过scopesRequest()的args获取堆栈frameid,但是当我切换到另一个堆栈级别时,系统在切换回时不会给我通知。因为variablesRequest()的参数没有当前的frameid,这将导致调试器使用错误的堆栈级别并获取错误的变量 例如。 堆栈: Function1 luafil

我使用vscode扩展实现了一个lua调试器。但是,我在显示变量时遇到了一个问题

断点处显示的变量根据堆栈帧ID进行切换。当显示变量时,我需要获得正确的frameid

第一次切换到某个堆栈级别时,我可以通过scopesRequest()的args获取堆栈frameid,但是当我切换到另一个堆栈级别时,系统在切换回时不会给我通知。因为variablesRequest()的参数没有当前的frameid,这将导致调试器使用错误的堆栈级别并获取错误的变量

例如。 堆栈:

Function1 luafile:第26行frameid=0

Function2 luafile:第30行frameid=1

当我切换到function2时,scopesRequest()将提示我输入frameid=1。 当我切换回function1时,我无法获得堆栈切换的通知。此时,展开UpValue,调试器读取的变量是错误的