Tôi có một thiết lập gỡ lỗi trong mã Visual Studio nơi tôi chạy một nhị phân bên ngoài có thể thực thi các tệp JS của tôi (sử dụng duktape). Bộ điều hợp gỡ lỗi hiện chỉ hỗ trợ các yêu cầu đính kèm (không khởi chạy) vì vậy tôi phải chạy nhị phân trước khi tôi có thể gỡ lỗi các tập lệnh JS.Làm thế nào để làm cho vscode không chờ đợi để hoàn thành một preLaunchTask?
Để tránh phải khởi động ứng dụng bằng tay tôi tạo ra một nhiệm vụ cho nó và thiết lập rằng trong tập tin launch.json tôi:
{
"version": "0.2.0",
"configurations": [{
"name": "Attach MGA",
"type": "duk",
"preLaunchTask": "debug mga",
"request": "attach",
"address": "localhost",
"port": 9091,
"localRoot": "${workspaceRoot}",
"stopOnEntry": false,
"debugLog": true
}]
}
Nhiệm vụ được định nghĩa như vậy:
{
"version": "0.1.0",
"command": "<absolute path to>/mga",
"isShellCommand": false,
"showOutput": "always",
"suppressTaskName": true,
"tasks": [{
"taskName": "debug mga",
"args": ["--debugger", "main.json"]
}]
}
Vấn đề hiện tại là vscode đợi nhiệm vụ khởi chạy trước để kết thúc, trong khi ứng dụng chờ một trình gỡ lỗi đính kèm. Bắt 22.
Làm cách nào để tránh vscode chờ đợi cho tác vụ khởi chạy trước kết thúc?
Cập nhật:
Trong khi đó tôi đã đọc lên trên the vscode task page và đã đưa ra cấu hình nhiệm vụ này. Tuy nhiên, nó không hoạt động đối với tôi
{
"version": "2.0.0",
"tasks": [
{
"label": "launch-mga",
"type": "shell",
"command": "<absolute path to>/mga",
"args": [
"config/main.json",
"--debugger"
],
"isBackground": true,
"problemMatcher": {
"owner": "custom",
"pattern": {
"regexp": "_____"
},
"background": {
"activeOnStart": true,
"beginsPattern": "^.*Waiting for debug connection.*$",
"endsPattern": "^.*blah.*$"
},
},
}
]
}
Ứng dụng được khởi chạy in kết nối gỡ lỗi và chờ vô tận. Có lẽ vấn đề phải làm với ứng dụng (đó là Node.js kinda như ứng dụng đầu cuối), được viết bằng C++?
Điều này không hữu ích. vscode vẫn đang chờ nhiệm vụ prelaunch kết thúc. –