Failed to open /dev/tty with vscode debugger

Offen
#3,351 14 Kommentare 7 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

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

Rechercherichtung

Beginne damit, die angehängten launch.json und debuglog.txt mit dem gdb-Aufruf über die Befehlszeile zu vergleichen, und untersuche anschließend, wie der VS Code C++-Debugger das Programm startet und ihm sein steuerndes Terminal bereitstellt. Reproduziere das Problem auf dem angegebenen Ubuntu 16.04-Setup mit dem Beispielprogramm /dev/tty; als erledigt gilt die Aufgabe, wenn der VS Code-Debuglauf /dev/tty wie der Lauf über die Befehlszeile öffnet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

debugger

In my program, I tried to read /dev/tty. The program cannot open the file with vscode debugger, but the file is successfully opened with gdb command line.

The source code is:

#include <stdio.h>
#include <fcntl.h>

int main(int argc, char const *argv[])
{
    int f = open("/dev/tty", O_RDONLY);
    printf("open tty %d\n",f);
    return 0;
}

The program is then build with g++ -g ./main.cpp.

When I use gdb to debug in vscode, it gives:

open tty -1

However, with command line gdb ./a.out, the file can be open successfully.

(gdb) r
Starting program: /home/miki0w0/c_test/a.out
open tty 3
[Inferior 1 (process 22818) exited normally]
(gdb) q

A same open issue can be found at https://stackoverflow.com/questions/52027368/unable-to-open-dev-ttyusb0-while-debugging-with-visual-studio-code-on-linux.

The vscode debugger works well in other cases. I wounder what causes the difference and how to fix it.

The environment is:

  • OS and Version: Ubuntu 16.04
  • VS Code Version: 1.32.3
  • C/C++ Extension Version: 0.22.1
  • Other extensions you installed (and if the issue persists after disabling them): None

Additional context
My configure file is:
launch.json.txt.

And the log information is included in this file:
debuglog.txt

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/vscode-cpptools

Alle Issues in microsoft/vscode-cpptools

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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