web-dev-qa-db-fra.com

'Le code source ne correspond pas au bytecode' IDEA déboguer JdbcTemplate

lorsque je débogue le code source JdbcTemplate, utilisez IDEA le IDE me conseille: "Le code source ne correspond pas au code intermédiaire"

Capture d'écran:

enter image description here

et j'utilise mvn pour gérer mon projet ; ma config pav maven est:

<dependency>
                <groupId>org.springframework</groupId>
                <artifactId>org.springframework.orm</artifactId>
                <version>3.0.5.RELEASE</version>
  </dependency>
6
guruboy

Intellij donne un tel avertissement lorsque le code compilé ne correspond pas au code source. c'est-à-dire que vous essayez de déboguer le code, qui a été modifié et non construit à nouveau.

Assurez-vous qu'après avoir importé votre code, vous n'en avez modifié aucun élément et si vous le modifiez, commencez par le construire/le compiler, puis ne démarrez que le débogage.

par exemple, le code ci-dessous provoquera cet avertissement: -

    public class HelloSO {
    public static void main(String[] args) {
        System.out.println("First time source code");
    }
  }

Maintenant que vous avez compilé au-dessus de la classe et que vous commencez à la déboguer, tout fonctionne correctement. 

Mais après cela, vous ajoutez une autre instruction print et essayez de placer le point de débogage sur cette ligne sans la recompiler, puis dans ce cas, comme le code d'octet pour la nouvelle ligne n'est pas généré, vous recevrez le même message d'avertissement d'IntelliJ.

3
Amit Khandelwal

Pour moi, ce problème était dû au fait que j'avais modifié mon code source mais que je ne l'avais pas encore déployé sur le périphérique cible. Cela me permettait toujours de mettre en place le débogage qui était déroutant, mais m'a ensuite donné cette erreur.

Pour réparer:

  1. Reconstruisez votre projet/module
  2. Redéployer sur votre appareil cible
  3. Lancer le débogueur

Après la reconstruction/le redéploiement, votre code de débogage et votre code déployé seront identiques et vous ne devriez plus avoir d’erreurs! Juste une question de faire correspondre les deux binaires.

0
Neil Ruggiero