microsoft / microsoft/vscode-java-debug

toString() Object View should catch exceptions, or default to false

Ouverte
#1,297 8 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

ai-triaged bug enhancement evaluation ux variables
Langage dominant
TypeScript
Étoiles
591
Forks
429
Merge moyen
1 j 9 h
PR mergées (30 j)
19

Description

When using the vscode java debugger, the experience can be really bad because some variables cannot be inspected seemingly for no reason. This gives the impression that the extension is still very buggy. It took me a long time to find out that disabling the toString() Object View solves that problem.

Likely there are exceptions thrown during toString() execution for those variables. These should either be caught, or the default for "Enable toString() Object View" should be false.

Environment
  • Operating System: MacOS Ventura 13.2
  • JDK version: debugee is OpenJDK Runtime Environment Homebrew (build 11.0.18+0)
  • Visual Studio Code version: 1.75.1 (Universal) Commit: 441438abd1ac652551dbe4d408dfcec8a499b8bf
  • Java extension version: v1.14.0
  • Java Debugger extension version: 0.48.0 - 2023-02-01
Steps To Reproduce
  1. set a breakpoint and look at Variables View, where some variables cannot be inspected
    image
  2. set "Enable toString() Object View" to false
    image
  3. Now the variables can be expanded:
    image
Current Result

Some variables cannot be inspected

Expected Result

It should be possible to inspect all variables, regardless of whether their toString() method throws an exception

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue ne nomme aucun fichier source, test ni point d’entrée ; reproduisez-le dans la Variables View avec Enable toString() Object View activé, puis suivez le chemin d’évaluation de toString() du débogueur. Le travail est terminé lorsque chaque variable reste extensible et inspectable même si son toString() lève une exception, et que ce comportement est couvert par un test de régression approprié.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript, vscode
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.