Я хочу отладить quickjs
qjsc
, который принимает аргументы от c++ argv
, и я также надеюсь, что каждый сможет быстро отладить js на основе моей конфигурации для изучения javascript движка.
Но я не могу передать аргументы программе через отладчик gdb в vscode
Вот мой vscode launch.json
{
// 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": [
{
"name": "qjs-debug main.js",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/qjs-debug",
"args": [
"-I",
"${workspaceFolder}/debugger/main.js"
],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"logging": {"engineLogging": true},
"preLaunchTask": "gcc build active file",
"miDebuggerPath": "/usr/bin/gdb",
"miDebuggerArgs": "--args"
}
]
}
, когда я запускаю отладку, я вижу, что argv имеет только /
Некоторые ответчики сказали, что args
в launch.json
перейдет на GDB, вы должны использовать --args
вместо.
Но я попробовал. Ничего не работает: (
Мой вопрос:
Как передать args в программу на основе команды cli?
Почему argv * /
с картинки?
Мой репозиторий
https://github.com/iamwwc/quickjs-debugger
Вы можете получить всю конфигурацию из моего github.