microsoft / microsoft/vscode-cpptools

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

Aperta
#14,505 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@sean-mcmanus ci sta già lavorando.

Dal 8/6/2026.

bug debugger help wanted
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.