microsoft / microsoft/vscode-cpptools

Standard error not printed when using PipeTransport

Aperta
#5,358 5 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

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

Descrizione

Type: Debugger

  • OS and Version: ( local ) Windows_NT x64 10.0.18363 & ( remote ) Red Hat Enterprise Linux Workstation release 7.4 (Maipo)
  • VS Code Version: Version: 1.44.2
  • C/C++ Extension Version: 0.27.0

Environment : VSCode from local computer, connection trough remote-ssh to a Linux computer able to run VSCode then using pipeTransport to a dedicated machine to work on, where vscode can't be launch trough remote-ssh ( older os ).

When debugging with pipe transport, message to standard error are not displayed, although received. It's also reproducible with gdb command -exec p printf(stderr,"stderr")

To Reproduce
main.c

#include <stdio.h>

int main(int argc, char *argv[])
{
    fprintf(stdout,"stdout\n");
    fprintf(stderr,"stderr\n");
    return 0;
}

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "externalConsole": false,
            "MIMode": "gdb",
            "pipeTransport": {
                "pipeCwd": "${workspaceFolder}",
                "pipeProgram": "ssh",
                "pipeArgs": [
                    "dedicated"
                ],
                "debuggerPath": "/usr/bin/gdb"
            },
            "logging": {
                "engineLogging": true,
            }
        }
    ]
}

Steps to reproduce the behavior:

  1. Compile the program
  2. Launch VSCode debugger
  3. Look for lines in the debug console

1: (7622) STDERR: stderr ---------------------> Program printed to stderr, GDB received it
1: (7626) ->^running ---------------------> Didn't display it
1: (7626) ->*running,thread-id="all"
1: (7626) ->(gdb)
1: (7626) ->stdout ---------------------> Program printed to stdout, GDB received it
stdout ---------------------> Did display it

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.

Direzione di ricerca

Riproduci il problema con main.c e la configurazione pipeTransport di launch.json, quindi esamina il percorso di output del debugger alla ricerca dei messaggi ricevuti sullo standard error. Confronta gli output stderr e stdout visualizzati e considera il problema risolto quando stderr, sia dall'esecuzione del programma sia dal comando printf di GDB, appare nella console di debug.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, vscode
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.