fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
22 févr. 2010 à 09:57
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
22 févr. 2010 à 11:00
Bonjour,
Ne connaissant pas grand chose à java, je fais appel à votre aide.
J'essaie de debugger un programme.
Ce programme liste des composants d'une fenêtre, pour faire simple :
nouveauComposant()
{
rechercheDesFils()
}
rechercheDesFils()
{
try {
int nbfils = ((Container) nomComposant).getComponentCount();
// ici trace 1
for (int = 0; i < nbfils; i++) {
// ici trace 2
nouveauComposant fils = new nouveauComposant();
}
} catch(Throwable th) {
// trace 3
}
}
nouveauComposant peut-être appelé par plusieurs threads.
Ce code est dans une applet.
Quand celle-ci freeze (plante ?) j'ai la trace 1 mais pas la trace 2 ou 3.
Ca ne plante pas toujours au meme moment. Mais c'est quand très étrange que ce soit la trace1 la dernière trace.
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 22 févr. 2010 à 10:10
Salut,
Donne le vrai code parce que là, je vois pas trop quoi te dire. Sinon pour la récursivité, t'inquiètes pas y'a un peu de place dans la pile d'appels quand même.
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 22 févr. 2010 à 11:00
Non je n'ai pas essayé le mod debug. Mon applet est en fait une "Form Oracle", je vais voir comment on debug cette étrangeté avec leur génial runtime (nommé jinitiator) basé sur la JRE 1.3.
Sinon, le fait que la fonction récursive soit appelée par 2 threads, ne pourrait pas poser de pb ? Meme si, d'apres mes traces, quand ca plante, je n'ai pas accès concurrent.