Как получить текущий frameid при отображении переменных? - PullRequest
0 голосов
/ 15 февраля 2019

Я реализовал отладчик lua, используя расширение vscode.Однако при отображении переменных я столкнулся с проблемой.

Переменные, отображаемые в точке останова, переключаются в соответствии с frameid стека.Когда я показываю переменные, мне нужно получить правильный frameid.

При первом переключении на определенный уровень стека я могу получить frameid стека через аргументы scopesRequest (), но когда я переключаюсь на другой стекуровень, система не выдаст мне уведомление при переключении обратно.потому что у аргументов variableRequest () нет текущего frameid, что приведет к тому, что отладчик использует неверный уровень стека и получит неверную переменную.

например.Стек:

Function1 luafile: строка 26 frameid = 0

Function2 luafile: строка 30 frameid = 1

Когда я переключаюсь на function2, scopesRequest () запрашивает у меня frameid= 1.Когда я переключаюсь обратно на функцию 1, я не могу получить уведомление о переключении стека.В настоящее время разверните UpValue, неверная переменная, считываемая отладчиком.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...