Débogage d'une extension shell provoquant le blocage de Windows

2

Cela fait quelque temps que je vis avec un problème ennuyeux dans Windows XP et que je l’ouvre chaque fois que j’ouvre une boîte de dialogue de fichier (Ouvrir / Enregistrer) dans n’importe quel programme. Peu de temps après, ce programme se bloquera (l’interface utilisateur gèlera complètement). et «fantômes»).

J'ai fait des tests approfondis et je peux confirmer à 100% que ce sont les dialogues de fichiers qui posent problème. Les boîtes de dialogue de sélection de répertoire ne posent pas le problème.

L'explication évidente est que certaines extensions de coquilles se comportent mal, mais j'ai du mal à déterminer laquelle.

J'ai essayé d'utiliser ShellExView et Autoruns pour désactiver les extensions de shell, mais cela n'a pas aidé, d'autant plus qu'il y a 333 éléments dans ShellExView et 154 éléments dans Autoruns, donc la désactivation et le redémarrage de chacun seraient un cauchemar (surtout parce que le problème est cohérent, il n’est pas immédiatement reproductible; je dois juste attendre en quelque sorte que cela soit suspendu un peu au hasard).

Est-ce que quelqu'un connaît un moyen de savoir quelles extensions de shell affectent spécifiquement les dialogues de fichiers?


(Non, il n'y a pas de lecteurs mappés sur le réseau.)

Synetech
la source
Avez-vous essayé AutoRuns? technet.microsoft.com/en-us/sysinternals/bb963902.aspx Onglet Explorateur ...
Logman
Oui, avec les mêmes résultats.
Synetech
Avez-vous essayé d'exécuter Process Monitor pour surveiller un délinquant connu? La suspension est-elle permanente ou a-t-elle un délai d’attente et revient-elle à la normale après x secondes ou minutes?
Ils restent accrochés pour toujours. Process Monitor ne fonctionne que sur SP2 + (et est également très lent et encombré). Je vais essayer FileMon / RegMon (étant donné que je ne me souviens pas si je les ai déjà fatigués). Le problème est que le blocage se produit après un certain temps, il est donc difficile de trouver un bon ensemble de filtres.
Synetech
J'ai essayé FileMon et j'ai vu plusieurs références à des extensions de shell (et des références répétées à un mystérieux, inexistant journal.exe). Je ne crois pas que cela journal.exeait à voir avec, bien que j'essaie de comprendre d'où ça vient et de l'éliminer. Je vais plutôt essayer de désactiver les extensions de shell qui ont été répertoriées car il y en a beaucoup moins (5) que la liste complète fournie par ShellExView et Autoruns.
Synetech

Réponses:

1

Je sais que ce n'est pas un processus rapide, mais désactiver les extensions puis les réactiver est vraiment la meilleure solution. L'une des extensions du shell peut interagir de manière inattendue avec la boîte de dialogue de fichier.

Vous n'êtes pas obligé de les tester un par un. L'utilisation d'une "recherche binaire" réduira votre nombre de redémarrages de l'explorateur nécessaires à 9 dans le pire des cas (en supposant qu'une seule extension cause votre problème).

  1. Désactiver la moitié des extensions (~ 166).
  2. Fermez l'explorateur puis redémarrez-le.
    • Si le problème a disparu, réactivez la moitié des extensions désactivées (~ 84).
    • Si le problème persiste, désactivez la moitié des extensions activées (~ 84) et réactivez le groupe précédent d'extensions désactivées (~ 166).
  3. Répétez à partir de l'étape 2.

Pour terminer l’explorateur correctement, effectuez l’une des opérations suivantes:

  • se déconnecter
  • Spécifique à XP: ouvrez la boîte de dialogue d'arrêt, maintenez les touches ctrl-alt-shift enfoncées, puis cliquez sur le bouton "annuler".
  • Spécifique à Win7: ctrl-alt-clic droit sur le menu de démarrage (pas le bouton de démarrage) et sélectionnez quitter

Tant que vous testez la moitié du groupe d'extensions restant à la fois, vous réduisez le champ très rapidement. Les possibilités passent de 333 à 166, à 84, 42, 24, 12, 6, 3, 2, à 1 et, espérons-le, à votre dernier coupable. En cours de route, il est possible de déterminer lesquels sont les plus susceptibles de poser problème et vous pouvez passer d'une stratégie 50/50 à 60/40 ou 80/20 si vous vous sentez vraiment en confiance.

edit: je devrais mentionner que j'ai trouvé cette question parce que je tentais de déboguer un problème de lenteur d'un lecteur réseau causé par une extension de shell. J'ai utilisé ce processus exact pour trouver la cause. A seulement pris environ 15 minutes.

Jimbo
la source
En fait, je n’ai pas utilisé une recherche binaire stricte (ah, au lycée, comment ça me manque) avec exactement la moitié à la fois, mais j’ai essayé quelque chose d’effet. Le problème est que, comme vous l'avez dit, il peut s'agir de deux extensions ou plus qui interagissent, ce qui signifie que la désactivation de l'une d'elles individuellement peut ou non résoudre le problème, ce qui complique grandement les choses. ☺ +1 pour la recherche binaire cependant; pour quiconque a un problème qui n'est pas une interaction, cela peut certainement aider.
Synetech
Quelle était la cause, si ça ne te dérange pas que je te le demande?
Jimbo
Dans mon cas? Je ne suis pas sûr. Je peux vérifier demain quand j'utilise mon système XP, mais si je me souviens bien, c’étaient deux ou trois extensions qui, quand elles étaient toutes activées, causeraient le problème, mais la désactivation de certaines d’entre elles résoudrait le problème. Je me souviens qu’un gros problème était que certaines des extensions en question avaient plusieurs crochets et / ou fichiers, ce qui compliquait grandement les choses, car la désactivation d’une extension peut nécessiter la désactivation de plusieurs crochets / fichiers ou la désactivation d’un seul crochet / fichier laisserait une extension partiellement fonctionnelle. / cassé, sans oublier de confondre le (s) crochet (s) responsable (s). :-/
Synetech