Dela via


Felsöka med skalet

I det här avsnittet beskrivs hur du felsöker DLL:er för Shell- och namnområdestillägg.

Köra gränssnittet under ett felsökningsprogram

Om du vill felsöka tillägget måste du köra gränssnittet från felsökningsprogrammet. Följ dessa steg:

  1. Läs in tilläggets projekt i felsökningsprogrammet, men kör det inte.

  2. Stäng av Shell.

    • För Windows Vista och senare:
      1. Visa menyn Start.
      2. Tryck på CTRL+SKIFT och högerklicka på bakgrunden på den högra halvan av menyn Starta.
      3. På menyn som visas väljer du Avsluta utforskaren.
    • För Windows XP:
      1. På menyn Starta väljer du Stäng av.
      2. Tryck på CTRL+ALT+SKIFT och klicka på Nej i dialogrutan Stäng av Windows.

    Shell är nu avstängt, men alla andra program körs fortfarande, inklusive felsökningsprogrammet.

  3. Ställ in felsökningsprogrammet för att köra tilläggs-DLL:en med Explorer.exe från Windows-katalogen.

  4. Kör projektet från felsökningsprogrammet. Gränssnittet startas som vanligt, men felsökningsprogrammet kopplas till Shell-processen.

Köra och testa Shell-tillägg

Du kan köra och testa dina tillägg i en separat Windows Explorer-process för att undvika att stoppa och starta om skrivbordet och aktivitetsfältet. Skrivbordet och aktivitetsfältet kan fortfarande användas när du kör och testar tilläggen.

Om du vill aktivera den här funktionen lägger du till följande REG_DWORD post i registret.

HKEY_CURRENT_USER
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  DesktopProcess = 1

För att den här posten ska börja gälla måste du logga ut och logga in igen. Den här inställningen gör att skrivbords- och aktivitetsfältets fönster skapas i en Explorer.exe process och att alla andra Explorer- och mappfönster öppnas i en annan Explorer.exe process.

Förutom att göra körningen och testningen av dina tillägg enklare, gör den här inställningen även skrivbordet mer robust när det gäller Shell-tillägg. Många sådana tillägg (till exempel snabbmenytillägg) läses in i nondesktop Explorer.exe-processen. Om den här processen avslutas påverkas inte skrivbordet och aktivitetsfältet, och nästa utforskar- eller mappfönster återskapar den avslutade processen.

Avlasta DLL

Gränssnittet tar automatiskt bort alla DLL-filer när dess användningsantal är noll, men först efter att DLL-filen inte har använts under en viss tidsperiod. Den här inaktiva perioden kan vara oacceptabelt lång ibland, särskilt när en Shell-tilläggs-DLL felsöks. Du kan förkorta den inaktiva perioden genom att lägga till följande information i registret.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  AlwaysUnloadDll