Мои точки останова в коде VS продолжают прыгать - я использую node.JS, и когда я запускаю отладчик, моя точка останова переходит от строки 30 приблизительно к строке 130 или около того в нижней части файла с функцией экспорта.
Проект, над которым я работаю, является служебным слоем, поэтому он почти полностью асинхронный.
async superspecficfunnamedoeshere(blah, accessToken) {
console.log('example')
Breakpoint goes on above line^
Bunch more code goes here, here is the function etc , the breakpoint is just under the function declaration
}
}
export thing from thing
^^ breakpoint moves to bottom export statement.
Размещение точки останова в этой строке console.log просто полностью пропускает всю функцию и переходит к оператору экспорта внизу.
Вот мой launch.json - сначала он не работал в операторе импорта, пока я не настроил его для работы с babel:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "thing1",
"program": "${workspaceFolder}/src/app.js",
"protocol": "inspector",
"runtimeArgs": [
"--harmony",
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/babel-node",
"envFile": "${workspaceFolder}/.env",
"outFiles": [ "${workspaceFolder}/bin/**/*.js" ],
}
]
}
наконец, вот мой конфиг babel
{ "env": {
"development": {
"sourceMaps": true,
"retainLines": true
}
},
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
Как заставить работать отладочные асинхронные функции?
Я уже пытался просмотреть документы vs code, и я немного запутался в том, как работают исходные карты. Но я реализовал некоторые из предложений там.
Нет сообщения об ошибке, только точка останова перемещается в конец файла из строки console.log, где точка останова находится намного раньше (без показа для нее)