Как макет-отладчик контролирует, в какой строке отладчик выполняет следующие шаги?

Я не могу понять, как расширение mock-debugger определяет, где следующий шаг .

Например, что, если я хочу перешагнуть через 2 строки, если найду в своем тексте слово «банан»? Еще я бы хотел сделать что-нибудь, например "Step In", где я смогу пройти слово в слово - возможно ли это?

Я видел this._currentLine = ln; assign, который, похоже, контролирует расположение строки, но это всего лишь простая локальная переменная. Как он мог контролировать что-либо в отладчике? Я не могу найти других вариантов использования переменной _currentLine, где она передается какому-либо полезному API (кроме трассировки стека, но я не думаю, что она имеет какое-либо отношение к элементу управления строкой отладчика).


person original.roland    schedule 21.11.2019    source источник


Ответы (1)


Трассировка стека - единственный источник визуализации шага отладчика. Когда отладчик получает уведомление о приостановке, он запрашивает текущую трассировку стека. TOS определяет, где будет находиться следующая точка выполнения. Следовательно, адаптер отладки может точно определить это положение.

person Mike Lischke    schedule 22.11.2019
comment
Извините за запоздалую реакцию и большое спасибо, довольно забавно, как я бы никогда не подумал, что отладчик на самом деле является драйвером по трассировке стека :) - person original.roland; 25.11.2019