microsoft / microsoft/vscode-cpptools
/ replaced with %2F in the DEBUG CONSOLE
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 6.2k
- Forks
- 1.7k
- Merge moyen
- 14 h 46 min
- PR mergées (30 j)
- 61
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par les requêtes setBreakpoints dans le journal du débogueur et comparez le chemin source encodé git:/ avec le chemin simple du système de fichiers. Suivez la gestion des chemins source utilisée par l’extension C/C++ sur macOS arm64 ; le correctif est terminé lorsque les requêtes de points d’arrêt préservent les séparateurs de chemin et se résolvent vers le fichier source réel.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cmake, cpp, vscode
- Domaine
- devtools
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100