Avatar ·

Comment obtenir et imprimer la stack trace actuelle en Java ?

Bonjour, collègues ! J'ai récemment commencé à programmer en Java et j'ai rencontré une situation : dans mon application multithread, des bugs étranges apparaissent parfois, difficiles à détecter. Je souhaite, à un endroit précis du code, simplement voir d'où vient le thread d'exécution — c'est-à-dire obtenir la stack trace (call stack) actuelle pour comprendre la séquence de méthodes qui a mené à ce point.\n\nJe sais que lorsqu'une exception se produit, on peut faire `e.printStackTrace()`, mais que faire s'il n'y a pas d'exception et que j'ai simplement besoin de logger la stack trace actuelle pour le débogage ? Par exemple, je veux ajouter un tel diagnostic dans la méthode `processOrder()` pour comprendre qui l'appelle :\n\n```java\npublic class OrderService {\n public void processOrder(int orderId) {\n // Ici, je veux obtenir la stack trace et la logger\n System.o