Pourquoi je reçois des “Évaluations doivent contenir une expression ou d'un bloc de bien-formé états”?
Dans mon code, j'essaie de sortie la valeur de src
dans les expressions de la fenêtre.
public void doIt() {
String src = "test";
System.out.println(src);
}
Dans Eclipse. J'ai mis un point d'arrêt sur une ligne de 3, et j'ai ouvert les "Expressions" de la fenêtre.
- Je ajouter une expression src
à évaluer, et j'obtiens
J'ai utilisé les Expressions caractéristiques... un nombre INCALCULABLE de fois, dans mes années de Java de débogage.. Pourquoi cela se passe maintenant?
J'ai récemment commencé à utiliser Eclipse Juno.. vs Indigo. Ont-ils changer la façon dont les Expressions travail?
- avez-vous pris cette capture d'écran pendant que le débogueur a été sur la ligne 2, 3 ou 4? si non, alors
src
est hors de portée - yessir - je suis positif. Si elle ÉTAIT hors de portée, il dirait "src ne peut pas être résolu à une variable"
- Eclipse a la mauvaise habitude de, Dieu sait pourquoi, l'arrêt de l'évaluation d'expressions au cours d'un processus de débogage, sans motif raisonnable, de l'événement lors de vos expressions sont bien formés et à tous. Probablement un problème de mémoire ou une sorte de corruption derrière les coulisses. Dans mon cas, le nettoyage, le projet et de le reconstruire à partir de zéro, la fermeture et la réouverture des projets et la fermeture et la réouverture de l'Éclipse (dans aucun ordre particulier) me.
- Si c'est un bug dans Eclipse, en notant le précise ID de version de Eclipse pourrait être utile.
- Si il y a une méthode nommée
src
dans la même classe ou de classe nommésrc
dans le même paquet, ou un haut niveau de ce nom, alors il pourrait en conclure que vous êtes en utilisant un identifiant qui ne peut rester seul dans une expression.
Vous devez vous connecter pour publier un commentaire.
Si votre code utilise tout les génériques, vous voudrez peut-être vérifier ce bug:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=341232
Se produit dans toutes les version de Eclipse jusqu'à 4.2. En bref certaines expressions génériques cause de l'Éclipse complètement échouer sur toute évaluation (voir cet exemple: https://bugs.eclipse.org/bugs/attachment.cgi?id=224760). Pas sûr de savoir si votre code utilise tout les génériques, mais si oui, c'est peut-être ça. Notez qu'il suffit d'avoir l'un de l'importun génériques quelque part dans votre classe, n'est pas nécessaire dans votre méthode.
Vérifier si vous avez mis à jour la version d'Eclipse, ressemble à cette question est fixe dans Eclipse 3.3
Mon Eclipse Version 3.8.2 et si j'évaluer l'expression sur la ligne 2, puis je suis aussi de recevoir le même message d'erreur, mais à la ligne 3 de ses évaluer correctement.
J'ai eu le même problème et j'ai supprimer une méthode générique dans mon code. Il fonctionne pour moi.
Je viens de passer beaucoup de temps à comprendre que si vous créez un package "Foo" et à l'intérieur de ce paquet, vous allez créer une classe qui s'appelle "Toto", comme ceci:
Après le point lorsque vous utilisez cette classe première fois dans votre programme, vous ne serez pas en mesure d'utiliser des expressions plus:
Ce bug peut être reprodused actuelles Eclipse Néon 4.7.
(En supposant que vous êtes compilation 1.5+ code), j'ai eu le même problème, voici ce que j'ai fait pour résoudre le problème: