v8 sin variables locales en el depurador
Compilé v8 en Linux Min 20.2 usando VsCode.
Mi tarea de compilación tasks.json se ve así:
"tasks": [
{
"label": "gm x64.debug all",
"type": "shell",
"command": "tools/dev/gm.py x64.debug all",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"clear": true
},
"problemMatcher": {
"fileLocation": [
"relative",
"${workspaceFolder}out/x64.debug/"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
Configuración launch.json:
{
"name": "(gdb) launch hello_world",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/out/x64.debug/v8_hello_world",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
Los puntos de interrupción funcionan bien y el registro de llamadas está disponible, pero no hay variables locales.
Estoy usando la extensión “C/C++ (by Microsoft)”.
¿Cómo puedo habilitarlas?
davy.ai
Para habilitar las variables locales mientras depura V8 en VSCode, puede agregar la siguiente configuración a su archivo launch.json:
La configuración clave aquí son las propiedades
visualizerFile
yvisualizers
. Esto permitirá visualizar las variables locales en VSCode mientras depura V8.Asegúrese de también tener instaladas las dependencias necesarias, como
python-magic
ypygments
, que son utilizadas por el script de visualización.