Escaping of Backslashes in the args of a debug-configuration: Use single quotes for passing arguments to gdb

Abierto
#14,505 2 comentarios 0 reacciones 1 asignado Ver en GitHub

@sean-mcmanus ya está trabajando en esto.

Desde el 8/6/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

bug debugger help wanted
Environment
  • OS and Version: Windows
  • VS Code Version: 1.122.0
  • C/C++ Extension Version: 1.32.2
  • If using SSH remote, specify OS of remote machine: Rocky 10

When debugging an cpp application under linux/gdb, then arguments are passed to the gdb without single quotes. For example

            "args": [
                "\\\\srv\\path1\\path2\\file.txt"

--> in gdb, this arguments arrives as:

-exec p argv[1]
$1 = 0x7fffffffd937 "\\srvpath1path2file.txt"

Putting the argument in additional single quotes is a workaroung when debugging with gdb (but not when debugging on Windows)

            "args": [
                "'\\\\srv\\path1\\path2\\file.txt'"

==> The cpptools-Extension should quote parameters with a single quote (')

Bug Summary and Steps to Reproduce

Bug Summary:

Steps to reproduce:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior:

Configuration and Logs
=thread-group-added,id="i1"
GNU gdb (Rocky Linux) 16.3-2.el9
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word".
enumclass_printer from enumclass_pretty_printer.py registered successfully.
chrono_printers from chrono_pretty_printer.py registered successfully.
=cmd-param-changed,param="debuginfod enabled",value="on"
Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
=cmd-param-changed,param="pagination",value="off"
Stopped due to shared library event (no libraries added or removed)
Loaded '/lib64/ld-linux-x86-64.so.2'. Symbols loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 2, main (argc=5, argv=0x7fffffffd4d8) at /home/soti/dev/itpprog_main/iwan/src/iwants.c:75
75	   char **envp =  __environ; // { 0 };
Loaded '/lib64/libstdc++.so.6'. Symbols loaded.
Loaded '/lib64/libm.so.6'. Symbols loaded.
Loaded '/lib64/libgcc_s.so.1'. Symbols loaded.
Loaded '/lib64/libc.so.6'. Symbols loaded.
Execute debugger commands using "-exec <command>", for example "-exec info registers" will list registers in use (when GDB is the debugger)
-exec p argv[1]
$1 = 0x7fffffffd937 "\\srvpath1path2file.txt"
Other Extensions

No response

Additional context

No response

Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
14 h 46 min
PR fusionados (30 d)
61

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/vscode-cpptools

Todos los issues de microsoft/vscode-cpptools

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.