L'outil n'est pas destiné à des amateurs en informatiques, ou alors ils doivent être très très éclairés (Prévoir des rampes projecteurs... )
Il s'agit de trouver les problèmes dans les applications multithreadées, c'est a dire trouver les problèmes qui peuvent apparaitre lorsque plusieurs fonctions _concurentes_ (donc qui s'exécutent en parallèle) discutent ensemble et/ou manipulent les mêmes objets.
Par exemple pour prendre les exemples signalés plus haut, si 2 personnes marchent ensembles (2 threads, faisons simple) et utilisent le même compte en banque et le même vélo (mais attention, pas un tandem!), imaginons encore que l'utilisation du vélo se fait de toute façons pour faire des emplettes, et donc vider le compte. Ajoutons que si le compte est vide avant la fin du mois il y a un gros bug....
il peut y avoir des conflits lors de l'utilisation du vélo...
et des bugs si le compte en banque se vide trop vite
Pour celà un débogueur peut permettre d'intéroger les personnes pour connaitre leurs actions.une par une et savoir qu'est ce qu'il se passe.
Le hic, c'est que pour le cas du vélo, on obtient un changement de dynamique : en interrogeant les personnes on les ralenties, elles font moins d'emplettes, et le compte en banque se vide moins vite : donc en essayant de trouver la source d'un bug, on risque d'empêcher que le bug de se produite.
Au contraire, cet outil se comporte comme des caméras embarquées sur chaqu'une des personnes : on peut analyser, sans changer la dynamique des évènements, et donc analyser _après_ que le bug se soit produit...
C'est plus clair comme ça?
(La phrase est transparente pour développeurs qui sont les utilisateurs de cet outil, très puissant et vraiment pratique.)
[^] # Re: Je la pose, ma question ?
Posté par v_atekor . En réponse à la dépêche PTT : un outil de trace pour la NPTL. Évalué à 3.
Il s'agit de trouver les problèmes dans les applications multithreadées, c'est a dire trouver les problèmes qui peuvent apparaitre lorsque plusieurs fonctions _concurentes_ (donc qui s'exécutent en parallèle) discutent ensemble et/ou manipulent les mêmes objets.
Par exemple pour prendre les exemples signalés plus haut, si 2 personnes marchent ensembles (2 threads, faisons simple) et utilisent le même compte en banque et le même vélo (mais attention, pas un tandem!), imaginons encore que l'utilisation du vélo se fait de toute façons pour faire des emplettes, et donc vider le compte. Ajoutons que si le compte est vide avant la fin du mois il y a un gros bug....
il peut y avoir des conflits lors de l'utilisation du vélo...
et des bugs si le compte en banque se vide trop vite
Pour celà un débogueur peut permettre d'intéroger les personnes pour connaitre leurs actions.une par une et savoir qu'est ce qu'il se passe.
Le hic, c'est que pour le cas du vélo, on obtient un changement de dynamique : en interrogeant les personnes on les ralenties, elles font moins d'emplettes, et le compte en banque se vide moins vite : donc en essayant de trouver la source d'un bug, on risque d'empêcher que le bug de se produite.
Au contraire, cet outil se comporte comme des caméras embarquées sur chaqu'une des personnes : on peut analyser, sans changer la dynamique des évènements, et donc analyser _après_ que le bug se soit produit...
C'est plus clair comme ça?
(La phrase est transparente pour développeurs qui sont les utilisateurs de cet outil, très puissant et vraiment pratique.)