javascript - 在非节点运行时在 VSCode 中调试 JavaScript 匿名块
问题描述
我有一个具有 javascript 运行时的应用程序,它希望在其中运行一些代码片段。我正在尝试调试和设置断点,但我无法做到。作为参考,它在引擎盖下使用 deno。
我可以将此应用程序配置为自动中断,这是我可以设法调试它的唯一方法(因为我可以逐行进行,直到我想要检查的点)。我相信问题出在地图上,但我不知道如何让它映射正在使用我拥有的脚本执行的匿名代码。
这是我运行的示例脚本。
async (workflow_id, task_id, config, input) => {
console.log(input);
console.log(config);
console.log(task_id);
console.log(workflow_id);
return {
"ok": {
"message": `hello ${input.name}`
}
};
}
生成并执行这样的匿名块:
Deno.core.ops();
(async function(){
let input = {"name":"Augusto"};
let config = null;
let func = async (workflow_id, task_id, config, input) => { // -------> here my code is appended
console.log(input);
console.log(config);
console.log(task_id);
console.log(workflow_id);
return {
"ok": {
"message": `hello ${input.name}`
}
};
};
let result = await func(0, 0, config, input);
let message = {
workflow_id: 0,
task_id: 0,
output: result
};
console.log(message);
})();
当我最终一行一行地访问时,我可以访问我的应用程序生成的匿名代码,但问题是 vscode 没有将它链接到我的项目中的脚本,因此无法识别我在其中设置的任何断点。
有没有办法让 vscode 识别这个匿名函数并将其映射到我的本地脚本文件?
这是我配置的方式launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug WM Script",
"type": "pwa-node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "${workspaceFolder}/target/debug/debugger",
"runtimeArgs": [
"-f",
"./test.json",
"-s",
"./test.js" // ------------> this is my local script file I wanted to debug
],
"attachSimplePort": 9229,
"outputCapture": "std",
"sourceMaps": true,
"resolveSourceMapLocations": [
"${workspaceFolder}/**",
],
"outFiles": [
"${workspaceFolder}/*.js"
]
}
]
}
您可以在下图中看到 vscode 如何显示我的匿名代码。
解决方案
推荐阅读
- javascript - 如何创建一个类似于 WhatsApp 的 javascript 函数来获取最后一条消息时间
- android - Android Google Play 验证应用程序而不将其放入 Play 商店
- java - 如何从java调用qml函数?
- string - SSIS 将字符串转换为数据库日期
- javascript - Nodejs/typescript 通过多重参数验证
- express - Okta - 在 Express 应用程序中获取未知身份验证策略“oidc”
- c# - 字符串数组转换为枚举
- angular - Angular Spectator,不能使用自定义匹配器
- python - 如果我将两个不同的词典放入一个列表中。我得到错误的结果。一个字典正在覆盖列表中另一个字典的键/值
- parameters - 跨域跟踪:Ga 链接器参数未出现在 URL 中