模拟调试器如何控制调试器接下来执行哪一行?

How does mock-debugger control which line the debugger steps next?

我无法理解 mock-debugger extension 如何控制下一步的位置。

例如,如果我在我的文本中找到 "banana" 这个词,我想跳到第 2 行怎么办?另外,我想做点什么,比如 "Step In",在那里我可以逐字逐句地走 - 可能吗?

我看过this._currentLine = ln;赋值,它看起来控制着行的位置,但它只是一个简单的局部变量。它怎么能控制调试器中的任何东西?我找不到 _currentLine 变量的任何其他用途,它传递给任何有用的东西 API (堆栈跟踪除外,但我认为它与调试器线路控制).

堆栈跟踪是调试器步骤可视化的唯一来源。当调试器收到暂停通知时,它会请求当前堆栈跟踪。 TOS 确定下一个执行点的位置。因此,调试适配器负责准确确定该位置。