microsoft / microsoft/vscode-cpptools

[FEATURE REQUEST] Support debugging for YACC

Aperta
#4,942 5 commenti 5 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

debugger Feature Request more votes needed
Lingua principale
TypeScript
Stelle
6.2k
Fork
1.7k
Merge medio
14h 46m
PR unite (30g)
61

Descrizione

Type: Debugger

Can't DEBUG YACC files.

I wrote a short yacc file which had a problem.
I wasn't able to attach a debugger to the main function.

I would like to see the following:

  • Being able to set and hit breakpoints in the original .y file

  • Being able to hit breakpoints in the y.tab.c file (generated by yacc).

  • have automatic task support for makefiles (should this be a new issue)?

  • OS and Version: Ubuntu 19.10

  • VS Code Version: ms-vscode.cpptools

  • C/C++ Extension Version: 0.26.3

To Reproduce
I made a short version of a yacc file to highlight the problems.
This yacc file is not supposed to work, it's supposed to highlight the problems with the debugger.
All the files are in this gist: https://gist.github.com/rvanlaar/000c06347ef6fd6bfb5e7ddb8e17f0aa

The y.tab.c is generated with debug options enabled:
yacc -t --debug --verbose hoc1.y

Steps to reproduce the behavior:

  1. Open the files in VSCode
  2. Set a breakpoint on line y.tab.c: 1458
  3. compile with: cc -g y.tab.c -o hoc1
  4. run the debugger
  5. See it doesn't hit the breakpoint while executing

Additional context
https://gist.github.com/rvanlaar/000c06347ef6fd6bfb5e7ddb8e17f0aa#file-full-debug-log
If applicable, please include logging by adding "logging": { "engineLogging": true, "trace": true, "traceResponse": true } in your launch.json
Add any other context about the problem here including log or error messages in your Debug Console or Output windows.

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

Inizia con i file forniti hoc1.y e y.tab.c, riproduci il malfunzionamento dei breakpoint usando yacc -t --debug --verbose hoc1.y e cc -g y.tab.c -o hoc1, quindi esamina il log del debugger collegato. Il lavoro è completato quando è possibile impostare e raggiungere breakpoint sia nel file .y originale sia nel file y.tab.c generato.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.