Visual Studio 代码调试器未在 SAM Local 的断点处停止

Posted

技术标签:

【中文标题】Visual Studio 代码调试器未在 SAM Local 的断点处停止【英文标题】:Visual Studio Code Debugger Not Stopping at Breakpoints in SAM Local 【发布时间】:2018-06-04 15:29:24 【问题描述】:

我正在使用 AWS Lambda 节点 8.10、带有内联源映射的 babel 和最新的 VSCode(检查器协议)。当我启动调试器时,VSCode 在我的 lambda 的入口点中断,但不会在任何后续断点处停止;播放按钮刚刚移过入口点,功能运行完成。如果我选中“所有异常”复选框,它会在代码中发生异常但仍然不是我的断点的其他位置停止。

知道如何让它在我的断点处停止。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题:VS Code 调试器遇到了 some 断点,但不是我的处理程序。我追踪到运行目录不是 VS Code 所期望的。

在我的 launch.json 中,我不得不改变

"localRoot": "$workspaceRoot",

"localRoot": "$workspaceRoot/hello_world", // or whatever folder your handler lives in

我还注意到编辑-调试周期是:

编辑文件 sam 本地调用 -d 5858 VS 代码中的 F5 调试 继续。这将停止调试并重复循环。

sam local start-api 稍微好一点,因为我不必再次重新调用 cli,但在启动另一个 HTTP 请求后我仍然需要重新连接,我认为这很奇怪。

【讨论】:

【参考方案2】:

假设,您想查看代码的行为方式,而不仅仅是停止它。 使用像 Rookout 这样的实时 lambda 调试解决方案怎么样?

赌注部分,它不仅适用于本地 SAM,还适用于 AWS 中的已部署功能。

【讨论】:

以上是关于Visual Studio 代码调试器未在 SAM Local 的断点处停止的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2010 测试未在异常时进入调试器

Android 模拟器未在 Visual Studio 中显示

C++ 代码未在 Visual Studio 中运行

Visual Studio 2012 仅发布错误

模块未定义且进程未在 Visual Studio 代码中的 eslint 中定义

子弹物理源代码未在 x86 中构建 - Visual Studio 2017 中的预处理器指令错误