Maison  >  Article  >  Java  >  Pourquoi mon Java NullPointerException manque-t-il une trace de pile ?

Pourquoi mon Java NullPointerException manque-t-il une trace de pile ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-07 08:00:03260parcourir

Why is My Java NullPointerException Missing a Stack Trace?

NullPointerException en Java sans StackTrace

Lorsque vous rencontrez une NullPointerException dans le code Java, il est courant d'enregistrer la trace de la pile à des fins de débogage. Cependant, parfois la trace de la pile peut être vide, laissant les développeurs perplexes.

Une explication possible est que vous utilisez la JVM HotSpot, connue pour ses fonctionnalités d'optimisation. Pour prioriser les performances, la JVM HotSpot peut supprimer les traces de pile pour les exceptions fréquentes. Pour récupérer ces traces de pile, ajoutez l'option JVM suivante :

-XX:-OmitStackTraceInFastThrow

Cette optimisation, implémentée par la variable OmitStackTraceInFastThrow dans le fichier graphKit.cpp de la JVM HotSpot, tente d'empêcher la journalisation des traces de pile répétitives pour les exceptions qui se produisent souvent. . En désactivant cette optimisation, vous pouvez restaurer la sortie de trace de pile, vous permettant d'identifier la source de NullPointerException.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn