microsoft / microsoft/vscode-cpptools

C++ debugging character arrays and strings: <error reading variable> and "Converting character sets: Invalid argument."

Offen
#6,790 11 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

debugger more info needed
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

When debugging a C++ file containing character arrays or strings, the contents of the array/string are not shown, but instead shows "<error reading variable>" for character arrays and "Converting character sets: Invalid argument." for strings. Integer arrays are not affected:

bad

However, what puzzles me is that on a different machine but with the exact same VSCode version (1.52.1), C/C++ extension version (v1.1.3) and C++ compiler (mingw-w64 x86_64-8.1.0-posix-seh-rt_v6-rev0), and launch.json file, the contents of the array/string appears normally:

good

The contents of launch.json are given below:

{
    // 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": "g++.exe - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}

This problem has been posted elsewhere but with no solutions, as seen here and here

  • VSCode Version: 1.52.1
  • OS Version: Windows 10 20H2
  • C/C++ extension Version: 1.1.3

Steps to Reproduce:

  1. Create a character array in C++ file
  2. Start debugging

The issue still persists after disabling all extensions apart from the C/C++ tools extension.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der gemeldeten launch.json-Konfiguration und reproduziere die Debugging-Schritte für Zeichenarrays und Strings unter Windows mit VS Code 1.52.1 und der C/C++-Erweiterung 1.1.3. Vergleiche die Umgebungen des fehlschlagenden und des funktionierenden Rechners, einschließlich der MinGW-Toolchain und des gdb-Pfads. Als erledigt gilt die Aufgabe, wenn Zeichenarrays und Strings ihre Werte ohne einen der beiden gemeldeten Fehler anzeigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, vscode
Bereich
developer-experience, devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.