12
votes

Comment mettre un point d'arrêt en classe sans que c'est une source?

J'ai une application Web où je dois trouver toutes les classes qui accède à l'objet de la requête HTTP (car l'un d'entre eux provoque un bogue difficile à trouver). Par conséquent, je voudrais mettre un point d'arrêt dans certaines des méthodes de mise en œuvre des servletsQuest. Cette mise en œuvre est toutefois fournie par Weblogic pour lequel je n'ai pas de sources. Comment puis-je mettre un point d'arrêt dans une classe n'importe où dans une méthode particulière sans sa source. L'IDE Eclipse est préféré.


0 commentaires

3 Réponses :


0
votes

J'ai bien peur que vous ayez besoin du code source si vous voulez que cela fonctionne.

Pour débogage, vous avez besoin de numéros de ligne de code lisibles qui correspondent à ce code. Aucun de ces éléments n'est inclus dans les fichiers de classe


1 commentaires

Heureusement, ce n'est pas vrai. Voir la réponse de Thorbjørn Ravn Andersen!



19
votes

Vous pouvez définir un point d'arrêt de la méthode en utilisant la vue contour de la classe en question. Ensuite, le débogueur se casse à la première ligne de la méthode.


2 commentaires

Pour une raison quelconque, le menu de clic droit de la méthode ne contient pas de "Point d'arrêt de la méthode à bascule" sur un espace de travail frais, mais apparaît après l'ensemble d'un autre point d'arrêt.


Merci beaucoup pour celui-ci. Je m'appelais aveuglément dans chaque appel de méthode à partir du code que j'ai eu la source pour, et maintenant ça marche dans un éclair 😊



1
votes

Selon votre chance, vous pouvez le faire avec Un décompiler . Vous devrez placer le point d'arrêt dans la ligne appropriée (qui, hélas, pourrait ne pas contenir de code «BreakPointable»)

Le meilleur moyen de le faire est de créer un servleResponse wrapper. Incidemment, hier, j'ai créé une telle chose (avec un but légèrement différent), alors voici: xxx


1 commentaires

Le problème avec l'approche de l'enveloppe est que j'ai déjà un wrapper dans mon application, mais un cadre fonctionne en quelque sorte sur la demande d'origine - c'est le bogue :-).