microsoft / microsoft/vscode-cpptools
/ replaced with %2F in the DEBUG CONSOLE
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
Environment
- OS and version: 14.1 (23B74)
- VS Code: Version: 1.84.0
- C/C++ extension: v1.17.5
- OS and version of remote machine (if applicable):
- GDB / LLDB version: The command: /usr/bin/lldb-mi --version exited with code: 127
[proc] Executing command: /Users/<M.E>/.vscode/extensions/ms-vscode.cpptools-1.17.5-darwin-arm64/debugAdapters/lldb-mi/bin/lldb-mi --version
Bug Summary and Steps to Reproduce
Bug Summary:
A big project can not hit the breakpoints on MacOS arm64; they are grayed out.
So When I comment out all the code and have a simple main function, the breakpoint is red again. I looked at the "DEBUG CONSOLE," and it seems that it shows two issues when the breakpoints are grayed out
- The forward slashes "/" for the paths are replaced with "%2F"
- The root dir of the file is "git:/" instead of just "/"
Debugger Configurations
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
// Resolved by CMake Tools:
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [
{
// add the directory where our target was built to the PATHs
// it gets resolved by CMake Tools:
"name": "PATH",
"value": "$PATH:${command:cmake.launchTargetDirectory}"
},
],
//"externalConsole": true,
"MIMode": "lldb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"symbolLoadInfo": {
"loadAll": true,
"exceptionList": ""
},
"targetArchitecture": "arm64",
"logging": {
"engineLogging": "verbose",
"exceptions": true,
"natvisDiagnostics": "verbose",
"trace": true,
"traceResponse": true,
"moduleLoad": true,
"programOutput": true
},
}
Debugger Logs
<-- C (setBreakpoints-5): {"command":"setBreakpoints","arguments":{"source":{"name":"main.cpp","path":"git:/Users/<M.E>/repo/<PROJ>/<SUBPROJ>/src/<PJ>/main.cpp?%7B%22path%22%3A%22%2FUsers%2F<M.E>%2Frepo%2F<PROJ>%2F<SUBPROJ>%2Fsrc%2F<PJ>%2Fmain.cpp%22%2C%22ref%22%3A%22HEAD%22%7D"},"lines":[60,68,184],"breakpoints":[{"line":60},{"line":68},{"line":184}],"sourceModified":false},"type":"request","seq":5}
<-- C (setBreakpoints-16): {"command":"setBreakpoints","arguments":{"source":{"name":"main.cpp","path":"/Users/<M.E>/repo/<PROJ>/<SUBPROJ>/src/<PJ>/main.cpp","sources":[],"checksums":[]},"lines":[60,413,428,429,62],"breakpoints":[{"line":60},{"line":413},{"line":428},{"line":429},{"line":62}],"sourceModified":false},"type":"request","seq":16}
Other Extensions
CMake Tools v1.15.31
Additional Information
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con le richieste setBreakpoints nel log del debugger e confronta il percorso sorgente codificato git:/ con il percorso semplice del filesystem. Traccia la gestione dei percorsi sorgente utilizzata dall'estensione C/C++ su macOS arm64; la correzione è completa quando le richieste dei breakpoint preservano i separatori dei percorsi e vengono risolte nel file sorgente effettivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cmake, cpp, vscode
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 30/100