[Nyhetsbrev arkiv ^][< Volym 4, nummer 3][Volym 5, nummer 2 >]

System Internals Newsletter Volym 5, Nummer 1

http://www.sysinternals.com
Copyright (C) 2003 Mark Russinovich


19 februari 2003 – I det här problemet:

  1. REDAKTIONELLA

  2. NYHETER PÅ SYSINTERNALS

    • Filemon v5.01
    • FelsökView v4.2
    • NewSID v4.02
    • PsShutdown v2.01
    • Kör automatiskt v2.02
    • ShareEnum v1.3
    • TCPView v2.31
    • Bluescreen v3.0
    • Sysinternals på Microsoft
  3. INTERN INFORMATION

    • Ny video om XP/Server 2003 Internals
    • Mark och David Solomon Undervisar internt och felsökning i Seattle
    • Windows 2000 SP3 – vanliga kriterier certifierade
    • Visual Studio: Placera en klocka på LastError
    • LameButtonText-registervärdet förklaras
    • Windows-utvecklingshistorik
    • Introduktion till analys av kraschdumpar

Sysinternals Nyhetsbrev sponsras av Winternals Software, på webben på http://www.winternals.com. Winternals Software är den ledande utvecklaren och leverantören av avancerade systemverktyg för Windows NT/2K/XP. Winternals Software-produkter inkluderar ERD Commander 2002, NTFSDOS Professional Edition (en läs-/skriv-NTFS-drivrutin för DOS) och Remote Recover.

Winternals är stolta över att kunna meddela Defrag Manager version 2.10, den snabbaste och mest grundliga företagsdefragmenteraren som finns tillgänglig. Nu kan du hantera defragmenteringsscheman i hela Windows-företaget från en enkel MMC-snapin - utan att ens behöva installera någon klientprogramvara på dina NT-, Windows 2000- eller Windows XP-system. Besök http://www.winternals.com/es för mer information eller för att begära en kostnadsfri 30-dagars utvärderingsversion.

Hej!

Välkommen till Sysinternals nyhetsbrev. Nyhetsbrevet har för närvarande 36 000 prenumeranter.

Jag är glad att kunna informera er om att David Solomon är gästförfattare till denna månads ledare, där han beskriver några av sina verkliga felsökningsupplevelser med flera Sysinternals-verktyg.

Skicka nyhetsbrevet till vänner som du tror kan vara intresserade av dess innehåll.

Tack!

-Markera

LEDARE - av David Solomon

Jag har ett nytt motto: "När du är osäker kör du Filemon och Regmon (och Process Explorer)".

Innan jag förklarar, låt mig först säga tack till Mark för att bjuda in mig att skriva denna gästredaktion (naturligtvis, eftersom detta en glödande rapport om hur användbara hans verktyg är, är det inte som att han gör mig en stor tjänst eller något!).

Som många av er vet arbetar Mark och jag tillsammans för att hjälpa till att utbilda människor på det interna i Windows. Vårt senaste projekt var en uppdatering av windows 2000 internals video tutorial vi skapade förra året för att täcka kerneländringarna i Windows XP och Windows Server 2003, och vår nästa offentliga Windows internals-klass är 21-23 april i Bellevue, Washington - se information om båda i relevanta avsnitt i det här nyhetsbrevet. Och som många har frågat oss, är vi i färd med vår bok Inside Windows 2000 för XP & Server 2003 (preliminärt lanseringsdatum är sensommar).

Och nu, varför är jag så entusiastisk över Sysinternals-verktygen? För under det senaste året eller så har de hjälpt mig att felsöka och lösa en mängd olika program- och systemproblem som annars skulle vara olösliga. Faktum är att jag inte kan börja beskriva antalet helt olika, orelaterade problem som jag har kunnat felsöka med dessa verktyg. Även i fall där jag inte trodde att de skulle hjälpa, gjorde de det. Därav mitt nya motto, "When in doubt, run Filemon and Regmon".

Det finns två grundläggande tekniker som jag har hittat för att tillämpa dessa verktyg:

  1. Titta på det sista i Filemon/Regmon-spårningen som programmet gjorde innan det misslyckades. Detta kan peka på problemet.
  2. Jämför en Filemon/Regmon-spårning av det misslyckade programmet med en spårning från ett fungerande system.

I den första metoden kör du Filemon och Regmon och kör sedan programmet. När felet inträffar går du tillbaka till Filemon och Regmon och stoppar loggningen (tryck på CONTROL+E). Gå sedan till slutet av loggen och leta reda på de sista åtgärderna som utfördes av programmet innan det misslyckades (kraschade, hängdes eller vad som helst). Från och med den sista raden kan du arbeta dig bakåt och undersöka filerna och/eller registernycklarna som refereras, vilket ofta hjälper dig att hitta problemet.

Använd den andra metoden när programmet misslyckas på ett system men fungerar på ett annat. Samla in en Filemon- och Regmon-spårning av programmet i det fungerande och misslyckade systemet och spara utdata i en loggfil. Öppna sedan de bra och dåliga loggfilerna med Excel (ta standardvärdena i importguiden) och ta bort de tre första kolumnerna (annars visas alla rader som olika, eftersom de tre första kolumnerna innehåller information som skiljer sig från körning till körning, till exempel tid och process-ID). Jämför slutligen de resulterande loggfilerna (till exempel med WinDiff, som i Windows XP ingår i de kostnadsfria supportverktygen som du kan installera från XP-CD:n, eller för Windows NT4 och Windows 2000 hittar du den i Resource Kit).

Nu, några verkliga exempel.

På en Windows 2000-arbetsstation med Microsoft Office 97 installerat skulle Word få en Dr. Watson strax efter start. Du kan faktiskt skriva några tecken innan Dr. Watson inträffade, men om du skrev något eller inte, inom några sekunder efter starten, skulle Word krascha. Naturligtvis hade användaren försökt avinstallera och installera om Office, men problemet kvarstod. Så jag körde Filemon och Regmon och tittade på det sista som gjordes av Word innan det dog. Filemon-spårningen visade att det sista Word gjorde var att öppna en HP-skrivar-DLL. Det visade sig att arbetsstationen inte hade någon skrivare, men tydligen på en gång. Så jag tog bort HP-skrivaren från systemet och problemet gick bort!

Tydligen orsakade Word uppräkning av skrivare vid start denna DLL att läsa in, vilket i sin tur orsakade processen att dö (varför detta hände jag vet inte kanske användaren hade installerat en falsk version, men eftersom systemet inte längre hade en skrivare det verkligen inte spelade någon roll).

I ett annat exempel sparade Regmon en användare från att göra en fullständig ominstallation av sitt Windows XP-skrivbordssystem. Symptomet var att Internet Explorer (IE) skulle hänga sig vid start om användaren inte först ringde internetanslutningen manuellt. Den här internetanslutningen angavs som standardanslutning för systemet, så start-IE borde ha orsakat en automatisk uppringning till Internet (eftersom IE var inställt på att visa en standardstartsida vid start). Efter mitt nya motto körde jag Filemon och Regmon och tittade bakåt från den punkt i loggen där IE hängde. Filemon visade inget ovanligt, men Regmon-loggen visade en fråga till en nyckel HKEY_CURRENT_USER\Software\Microsoft\RAS Phonebook\ATT. Användaren hade berättat för mig att han hade AT&T-uppringningsprogrammet installerat på en gång, men hade avinstallerat det och manuellt skapat uppringningsanslutningen. Eftersom uppringningsanslutningens namn inte var "ATT" misstänkte jag att detta lämnades över registerskräp från avinstallationen som gjorde att IE kvävdes. Så jag bytte namn på nyckeln och problemet försvann!

Genom att använda tekniken "jämför loggarna" kunde du lösa varför Access 2000 hängde på en programmerares XP-arbetsstation och försökte importera en Excel-fil. Import av samma fil fungerade bra på andra användares arbetsstationer, men misslyckades på den här arbetsstationen. Därför gjordes en avbildning av Åtkomst till det fungerande och misslyckade systemet. Efter att ha masserat loggfilerna på lämpligt sätt jämfördes de med Windiff. De första skillnaderna berodde på att namnen på temporära filer var olika och på att vissa filnamn var olika på grund av skiftlägesskillnader, men naturligtvis var dessa inte "relevanta skillnader" mellan de två systemen.

Den första skillnaden som inte var ok var att en åtkomst-DLL lästes in från \Windows\System32 på det system som misslyckades men från \Program Files\Microsoft Office\Office mappen i arbetssystemet. När du jämförde DLL:erna avslöjades att versionen i \Windows\System32 kom från en tidigare version av Access. Så användaren bytte namn på DLL:en till .bad och körde åtkomsten igen och problemet försvann!

En klass av problem Filemon är otroligt användbar för är att upptäcka filbehörighetsproblem. Många program gör ett dåligt jobb med att rapportera nekad åtkomst. Att köra Filemon visar dock tydligt fel av den här typen eftersom resultatkolumnen visar "ÅTKOMST NEKAD" för fel vid att öppna filer på grund av rättighetsproblem (och den senaste versionen visar till och med användarnamnet som inte kunde komma åt filen). Två specifika exempel där så var fallet:

  1. En användare fick ett konstigt makrofel när word startades. visar behörigheterna för en . DOT-filen som refereras av ett makro har ändrats för att inte tillåta den här användaråtkomsten. Filemon visade tydligt att Word får ett felmeddelande om nekad åtkomst på . DOT-fil. När behörigheterna har åtgärdats försvann problemet.
  2. Ett Outlook-program dök upp en meddelanderuta där det stod Application defined or object-defined error-Message ID: [Connect].[LoadGlobalVariables].[LN:?].[EN:287]– ett annat exempel på hur många program som genererar värdelösa felmeddelanden vid slumpmässiga I/O-fel. Återigen visade körningen av Filemon ett fel om nekad åtkomst (den här gången till en mapp som Outlook behövde komma åt). Behörigheterna har justerats för mappen och problemet har försvunnit.

Dessa är bara några exempel-Jag har många andra framgångshistorier där Filemon och Regmon (och Process Explorer, som jag inte diskutera här) har sparat dagen. Det är inte konstigt att Microsofts produktsupport använder dessa verktyg dagligen för att lösa kundproblem (äntligen pekar ett 40-antal kunskapsbasartiklar på Mark's tools-see http://www.sysinternals.com/ntw2k/info/mssysinternals.shtml för en lista).

Så när du är osäker, kör Filemon och Regmon!

David Solomon David Solomon Expert Seminarier http://www.solsem.com

NYHETER PÅ SYSINTERNALS

FILEMON V5.01

Filemon, en av de verktyg David lyfter fram i sin ledare, har genomgått sin första stora revision på flera år. Den nya versionen ger en ny nivå av användbarhet till ett verktyg som redan hade ett tillgängligt användargränssnitt. Den viktigaste förbättringen är ändringen av hur filsystemaktivitet presenteras i Filemons standardinställning när den körs på Windows NT, 2000, XP eller Server 2003, något jag hade tänkt på ett tag och som jag slutligen implementerat baserat på verklig användarfeedback från David.

Tidigare versioner av Filemon visar filsystemåtgärder med textnamnen för de interna I/O-begäranden som kör åtgärderna. Även om det är tekniskt exakt i presentationen är många användare inte bekanta med det inre arbetet i Windows I/O-undersystemet och hittar åtgärder som FASTIO_CHECK_IF_POSSIBLE meningslösa och andra, som ett rapporterat fel i en FASTIO_READ åtgärd, förvirrande. Det finns många andra exempel på åtgärder som de flesta skulle klassificera som "brus" och åtgärdsnamn som inte är självförklarande.

Filemon version 5.01s standardvisningsläge har nu en filtreringsmekanism för att ta bort aktiviteten som är värdelös i de flesta felsökningsscenarier och som presenterar intuitiva namn för alla I/O-åtgärder. FASTIO_CHECK_IF_POSSIBLE filtreras bort, FASTIO_READ fel visas inte och FASTIO_READ's som lyckas rapporteras som READ åtgärder. Dessutom utelämnar standardvyn filsystemaktivitet i systemprocessen, vilket är den process som minnes- och cachehanteraren utför bakgrundsaktivitet från, och all Memory Manager-växlingsaktivitet, inklusive den till systemets växlingsfil. Alternativen|Avancerat menyalternativ tillfredsställer användare, till exempel filsystemfilterdrivrutinsutvecklare, som vill ha den "råa" vyn för filsystemaktivitet som visas av tidigare Filemon-versioner.

Flera användare, inklusive Microsoft-anställda, begärde att Filemon skulle visa det konto där "åtkomst nekad"-fel inträffar för att underlätta felsökning av säkerhetsinställningar i Terminal Services-miljöer. I svarsversion 5.01 visas den informationen samt åtkomstläget (läsning, skrivning, borttagning osv.) som en process vill ha när den öppnar en fil och hur en fil öppnas, till exempel om den skrivs över eller öppnas endast om den finns.

Många felsökningssessioner fokuserar på att identifiera filer som en process kommer åt eller försöker komma åt, i vilket fall åtgärder som läsningar, skrivningar och stängningar bara är brus. Som ett erkännande av detta faktum har jag lagt till en ny "logg öppnas" filtreringsalternativ gör att du kan isolera bara öppna åtgärder.

En annan viktig ändring är hur Filemon v5.01 hanterar nätverksmappade resurser. I tidigare versioner visas varje mappning som en enhetsbeteckning på menyn Enheter. Nu ingår alla sådana mappningar i valet "Nätverk" på menyn Volymer (som är den omdöpta menyn Enheter). Om du väljer Nätverk har Filemon övervaka alla nätverksresurser, samt rapportera UNC-typ nätverksaktivitet av den typ som inträffar när du kommer åt fjärrfiler med hjälp av "\\computer\share\directory" namngivningskonventionen. Den här ändringen gör det möjligt för dig att visa nätverksfilaktivitet även om du inte har en mappad nätverksresurs, vilket krävdes av tidigare Filemon-versioner. Det finns många andra mindre ändringar i den senaste Filemon, inklusive en uppdaterad menystruktur som speglar de mer användbara menyerna jag introducerade i Regmon för flera månader sedan.

Ladda ned Filemon v5.01 på
http://www.sysinternals.com/ntw2k/source/filemon.shtml

OM FILEMON- OCH REGMON-KÄLLKOD

Utvecklare av programvara, maskinvara och nätverksprodukter stöder Sysinternals genom att köpa licenser för att omdistribuera vår kod. Men under det senaste året har vi hittat en rad program, från trojaner till kommersiella produkter från vissa företag i flera miljarder dollar, som innehåller olicensierad Sysinternals-källkod. I ett försök att hålla Sysinternals växande och våra produkter lagligt licensierade har vi slutat publicera källkoden för några av våra produkter, inklusive de senaste Filemon- och Regmon-versionerna. Vi fortsätter att göra källkoden tillgänglig för kommersiella licenstagare. Om du upptäcker speglar för Sysinternals-källkoden kan du meddela oss.

FELSÖKA V4.2

DebugView är ett mycket populärt Sysinternals-verktyg som programvaruutvecklare använder för att samla in felsökningsutdata som genereras av deras programvara. Version v4.2 återspeglar ett antal användar begärda förbättringar och funktioner. Med ett Microsoft-begärt alternativ kan du samla in felsökningsutdata från processer som körs i konsolsessionen i en Terminal Services-miljö när du kör DebugView i en session som inte är konsol. V4.2 stöder utökade kommandoradsalternativ som gör att du kan ange en loggfil som ska läsas in, historikdjup och annat startbeteende. Flera användare begärde fler och längre filter, filtrering på process-ID:t och möjligheten att infoga kommentarer i utdata, som alla är möjliga med den senaste versionen. Den nya versionen avrundas med flera felkorrigeringar, bättre stöd för att extrahera kernel-felsökningsutdata från kraschdumpfiler och bättre ballongfönster för text som överskrider bredden på utdatakolumnen och till och med skärmen.

Ladda ned DebugView v4.2 på
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml

NEWSID V4.02

Dupliceringsproblemet sid (säkerhets-ID) är ett problem som du kommer att stöta på om du använder en förinstallerad Windows-avbildning för att distribuera fler än ett system. Varje dator som delar avbildningen har samma interna Windows SID, vilket är en identifierare som Windows säkerhetsundersystem använder som grund för lokala grupp- och kontoidentifierare. På grund av säkerhetsproblemen kan delning få de flesta administratörer att vidta åtgärder för att efter tillämpa ett unikt SID på varje dator med hjälp av ett SID-ändringsverktyg.

NewSID, Sysinternals SID-changer, är populärt eftersom NewSID är ett Win32-program som du kan använda för att tilldela ett nytt SID till datorer som har installerat program, till skillnad från andra växlare som förlitar sig på DOS eller kräver att ett system är fritt från tilläggsprogram. Version 4.02 är en större uppdatering som har ett nytt guidegränssnitt, lägger till stöd för Windows XP och låter dig byta namn på en dator.

En funktion som begärs av många administratörer är NewSIDs möjlighet att tillämpa ett SID som du anger, något som kan vara användbart för att migrera en installations inställningar till en annan dator eller för att installera om. När NewSID körs växer registret när det tillämpar tillfälliga säkerhetsinställningar på delar av registret för att göra dem tillgängliga. Den här uppblåstheten kan göra att registret överskrider sin storlekskvot så att en ny v4.02-funktion komprimerar registret till sin minsta storlek som sitt sista åtgärdssteg.

Ladda ned NewSID v4.02 på
http://www.sysinternals.com/ntw2k/source/newsid.shtml

PSSHUTDOWN V2.01

Avstängning är ett verktyg som Microsoft länge har inkluderat i Windows Resource Kit och som ingår i Windows XP-installationer. Före v2.01 psshutdown, en medlem av Sysinternals PsTools kommandorad administrationsverktyg, var helt enkelt en klon avstängning, men den senaste versionen utökar dess funktioner långt utöver de av avstängningar. Du kan till exempel stänga av och stänga av om ett system stöder energisparfunktioner, låsa skrivbordet och logga ut den interaktiva användaren, allt på den lokala datorn eller en fjärrdator, utan att installera någon klientprogramvara manuellt.

Ladda ned PsShutdown v2.01 på
http://www.sysinternals.com/ntw2k/freeware/psshutdown.shtml
Ladda ned hela PsTools-sviten på
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

AUTORUNS V2.02

Vi har alla blivit irriterade över installationen av oönskade appletar som körs när vi loggar in och blivit frustrerade i vårt sökande efter deras startkommando. Det är inte konstigt när Windows har nära 2-dussin mekanismer för sådan aktivering. MsConfig-verktyget som ingår i Windows Me och XP kan ibland hjälpa, men det missar ungefär hälften av de möjliga startplatserna.

Autoruns, ett Sysinternals-verktyg skrivet av Bryce Cogswell och mig själv, visar hela bilden. Dess visning visar en lista över alla möjliga register- och filplatser där ett program kan aktivera sig för att köras vid systemstart eller inloggning. Den senaste versionen visar ikon- och versionsinformation för varje startkonfigurerad avbildning för enkel identifiering och lägger till förbättringar av användargränssnittet som en snabbmeny. Dessutom identifierar den nya versionen fler startplatser, inklusive inloggnings- och utloggningsskript, schemaläggaraktiviteter som körs vid inloggning och Startpunkter för Explorer-tillägg.

Ladda ned Autoruns v2.01 på
http://www.sysinternals.com/ntw2k/source/misc.shtml

SHAREENUM V1.3

Systemadministratörer förbiser ofta en viktig del av den lokala nätverkssäkerheten: delade mappar. Användare i en företagsmiljö skapar ofta resurser till mappar som innehåller dokument för att ge enkel åtkomst till medarbetare i deras grupp. Tyvärr kan många användare inte låsa sina resurser med inställningar som förhindrar obehörig åtkomst till potentiellt känslig information av andra anställda.

ShareEnum är ett Sysinternals-verktyg skrivet av Bryce Cogswell som hjälper dig att identifiera oseriösa resurser och skärpa säkerheten på giltiga. När du startar ShareEnum använder den NetBIOS-uppräkning för att hitta datorer i nätverket och rapporterar de resurser som de exporterar tillsammans med information om de säkerhetsinställningar som tillämpas på resurserna. Inom några sekunder kan du upptäcka öppna resurser och dubbelklicka på en resurs för att öppna den i Utforskaren så att du kan ändra dess inställningar. Du kan också använda ShareEnums exportfunktion för att spara genomsökningar och jämföra en aktuell genomsökning med en som du tidigare har sparat.

Ladda ned ShareEnum v1.3 på
http://www.sysinternals.com/ntw2k/source/shareenum.shtml

TCPVIEW V2.31

TCPView är ett grafiskt netstat-liknande verktyg som visar en lista över ett systems aktiva TCP- och UDP-slutpunkter. I installationer av Windows NT, 2000, XP och Server 2003 visas processen som äger varje slutpunkt. Version 2.31 visar ikonen för en process bildfil för enklare identifiering.

Ladda ned TCPView v2.31 på
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

BLUESCREEN V3.0

Sysinternals Bluescreen of Death Screensaver har varit en favoritnedladdning i flera år och version 3.0 lägger till Windows XP-kompatibilitet. Skärmsläckare visar en autentisk blå skärm av döden, komplett med formatering och slumpmässig information som är lämplig för operativsystemet där dess körning (t.ex. Windows NT, 2000 eller XP), och efter en paus simulerar en omstartscykel och efterföljande upprepning av en annan kraschskärm. Det är så övertygande att David Solomon har lurat mig med det och jag har lurat honom med det. Använd den som din egen skärmsläckare eller för att lura dina vänner och medarbetare, men se till att din chef har humor innan du installerar den på ett produktionssystem.

Ladda ned Bluescreen v3.0 på
http://www.sysinternals.com/ntw2k/freeware/bluescreensaver.shtml

SYSINTERNALS AT WWW.MICROSOFT.COM

Här är den senaste delen av Sysinternals-referenser i Microsoft Knowledge Base-artiklar (KB) som släppts sedan det senaste nyhetsbrevet. Jag är hedrad över att kunna rapportera att detta ger 41 det totala antalet KB-referenser till Sysinternals.

  • ACC2000: Felmeddelande: ActiveX-komponenten kan inte skapa objekt http://support.microsoft.com/default.aspx?scid=KB; EN-US; Q319841&

  • ANVISNINGAR: Felsöka ASP i IIS 5.0 http://support.microsoft.com/default.aspx?scid=KB; EN-US; Q309051&

  • OL2002: Så här skapar du betrodda OUTLOOK COM-tillägg http://support.microsoft.com/default.aspx?scid=KB; en-us; 327657&

  • PRB: Fel 80004005 "Microsoft Jet Database Engine kan inte öppna filen (okänd)" http://support.microsoft.com/default.aspx?scid=KB; EN-US; Q306269&

  • Fel vid avlastning av användarprofil när du startar, avslutar eller loggar ut NetMeeting http://support.microsoft.com/default.aspx?scid=KB; EN-US; Q327612&

  • XADM: Felmeddelande: Fel 123: Syntaxen för filnamn, katalognamn eller volymetikett är felaktig http://support.microsoft.com/default.aspx?scid=KB; EN-US; Q318746&

INTERN INFORMATION

NY VIDEO OM XP/SERVER 2003 INTERNALS

Vår nya videouppdatering om interna ändringar i Windows XP/Server 2003 är tillgänglig för förhandsversionsbeställning! Som ett komplement till vår befintliga videoguide, INSIDE Windows 2000 eller som en fristående produkt i sig, ger den här nya videon utbildning om kerneländringarna i Windows XP och Microsofts nya produkt Windows Server 2003, som lanseras i april. Ämnen som beskrivs är prestanda, skalbarhet, 64-bitars stöd, filsystem, tillförlitlighet och återställning.

I samma interaktiva stil som föregångaren placerar Windows XP/Server 2003 Update dig över skrivbordet från David Solomon och Mark Russinovich i 76 minuter med mycket fokuserad, intensiv träning. Den innehåller granskningsfrågor, labbövningar och en tryckt arbetsbok och finns i DVD-video och Windows Media på CD-ROM.

Eftersom dessa videor har utvecklats med fullständig åtkomst till Windows källkods- och utvecklingsteam vet du att du får den verkliga historien. Som den ultimata komplimangen har Microsoft licensierat den här videon för deras interna utbildning över hela världen.

SPECIALPRIS FÖRE LANSERING OM DU KÖPER FÖRE DEN 15 MARS! Köp INSIDE Windows 2000 för $ 950 och få Windows XP / Server 2003 Update GRATIS! Det är nästan 40% rabatt på det kombinerade detaljhandelsvärdet på $ 1,390. Eller köp den fristående Windows XP/Server 2003 Update-videon för endast $169 ($195 detaljhandelsvärde). Andra licenskonfigurationer som är tillgängliga från webbplatsen. För att dra nytta av det här tidsbegränsade erbjudandet beställer du nu på http://www.solsem.com/vid_purchase.html

MARK OCH DAVID SOLOMON UNDERVISAR INTERNT OCH FELSÖKNING I BELLEVUE, WA

Hör mig och David Solomon presentera vår 3-dagars Windows 2000/XP/.NET Server internals klass i Bellevue, WA (nära Seattle) April 21-23. Baserat på "Inside Windows 2000, 3rd Edition", täcker den kernelarkitekturen och sambandet mellan viktiga systemkomponenter och mekanismer som systemtrådar, systemsamtalssändning, avbrottshantering, & start och avstängning. Lär dig avancerade felsökningstekniker med hjälp av Sysinternals-verktygen och hur du använder Windbg för grundläggande kraschdumpanalys. De interna nyckelundersystemen som omfattas är processer och trådar, trådschemaläggning, minneshantering, säkerhet, I/O-systemet och cachehanteraren. Genom att förstå operativsystemets inre funktion kan du dra nytta av plattformen mer effektivt och mer effektivt för att felsöka problem.

Information om hur du registrerar eller för mer information finns i http://www.sysinternals.com/seminar.shtml

WINDOWS 2000 SP3 COMMON CRITERIA CERTIFIED

Många av er är förmodligen bekanta med termerna "Orange Book" och C2, som båda är relaterade till en föråldrad säkerhetsutvärderingsstandard som används under 1980- och 90-talet av den amerikanska regeringen för att betygsätta säkerhetsfunktionerna i programvara, inklusive operativsystem. Sedan 1999 har Orange Book-betygen, som var en del av Department of Defense Trusted Computer System Evaluation Criteria (TCSEC), undersummats av det nyare systemet med gemensamma kriterier (CC). Cc kom överens om flera nationer som en internationell säkerhetsklassificeringsstandard som är rikare än TSCEC och Englands föråldrade ITSEC-betyg (Information Technology Security).

När en leverantör har sin programvara certifierad mot CC-standarden anger de en "skyddsprofil", som är en uppsättning säkerhetsfunktioner, och utvärderingen rapporterar en säkerhetsnivå, känd som en utvärderingssäkerhetsnivå (EAL), att programvaran uppfyller kraven för skyddsprofilen. Det finns 7 EAL:er med högre säkerhetsnivåer som indikerar större förtroende för tillförlitligheten hos den utvärderade programvarans säkerhetsfunktioner.

Microsoft skickade in Windows 2000 för CC-klassificering mot de kontrollerade åtkomstskyddsprofilerna, vilket är ungefär cc-motsvarigheten till TCSEC C2-klassificeringen, för flera år sedan och i oktober 2002 slutfördes utvärderingen. Science Applications International Corporation (SAIC), det oberoende företag som utförde utvärderingen, hittade Windows 2000 med Service Pack 3 för att uppfylla profilen för kontrollåtkomstskydd med en utvärderingssäkerhetsnivå (EAL) på 4 plus felreparation. En EAL på 4 anses vara den högsta nivån som kan uppnås av allmän programvara, och Felreparation refererar till Windows Update-mekanismen för snabb tillämpning av säkerhetskorrigeringar. Det här omdömet är den högsta nivån som uppnåtts hittills under CC av ett operativsystem.

VISUAL STUDIO: SÄTT EN KLOCKA PÅ LASTERROR

Om du utvecklar program som förlitar sig på Win32-API:et har du nästan säkert skrivit kod som kör en Win32-funktion, men av någon anledning rapporterar inte specifika fel. I så fall är det här tipset användbart. Genom att lägga till uttrycket @ERR,hr i klockfönstret ser du den numeriska och textuella representationen av värdet som lagras som den aktuella trådens LastError variabel, vilket är det värde som returneras av GetLastError() funktionen Win32.

LAMEBUTTONTEXT-REGISTERVÄRDET FÖRKLARAS

Om du har undersökt Regmon-spårningarna på ett Windows 2000- eller XP-system i ett Windows-programstart har du förmodligen sett referenser till registervärdet HKCU\Control Panel\Desktop\LameButtonText, vanligtvis med ett NOTFOUND fel. Någon på Microsoft har uppenbarligen humor, men vad är det här värdet för? Det visar sig att den lagrar den text som du ser i Windows beta och släpper kandidatversioner på fönsterrubrikstaplar som instruerar dig att klicka på en länk för att rapportera feedback. Det skulle vara coolt om du kunde aktivera det på icke-förhandsversioner av Windows för att placera anpassad text, men dess funktioner är tyvärr inaktiverade på produktionsversioner.

WINDOWS-UTVECKLINGSHISTORIK

Paul Thurrott har en fin artikelserie i 3 delar som går på historien om Windows NT-utvecklingsprocessen. Kolla in det på http://www.winsupersite.com/reviews/winserver2k3_gold1.asp

EN SNABB INTRODUKTION TILL ANALYS AV KRASCHDUMPAR

När ett system kraschar omedelbart efter att du har installerat ny maskinvara eller programvara som diagnostiserar orsaken är uppenbart. Ibland uppstår dock systemkrascher ibland och det finns ingen uppenbar anledning. I sådana fall är det enda sättet att fastställa orsaken till kraschen att analysera en kraschdump. I den här självstudien ska jag beskriva hur Microsofts Online Crash Analysis (OCA) fungerar och hur det kan ge dig svaret på ett kraschpussel och sedan berätta hur du konfigurerar en egen kraschanalysmiljö så att du kan ta en titt på krascher som OCA inte kommer eller inte kan analysera.

Microsoft introducerade OCA med lanseringen av Windows XP som en automatiserad analystjänst baserad på en centraliserad lagringsplats med kraschrelaterad information. När ett XP-system startas om från en krasch uppmanas du att skicka in kraschinformation till OCA-webbplatsen (http://oca.microsoft.com/en/Welcome.asp). Om du samtycker laddar XP upp en XML-fil som beskriver din grundläggande systemkonfiguration tillsammans med en 64 KB minidump-kraschfil. En minidump innehåller en liten mängd data som omedelbart är relevanta för en krasch, till exempel kraschkoden, stacken i tråden som kördes vid tidpunkten för kraschen, en lista över drivrutiner som lästs in i systemet och de datastrukturer som hanterar processen som körs när kraschen inträffade.

När OCA tar emot informationen fortsätter den att analysera den och lagrar analyssammanfattningen i en databas. Om du följer uppmaningen efter uppladdningen och besöker OCA-webbplatsen får du möjlighet att spåra analysen. Detta kräver att du loggar in med ett Passport-konto. Sedan anger du ett namn för kraschen och en text som beskriver kraschens natur. Om OCA-motorn korrelerar kraschen med andra i databasen som Microsoft har identifierat en orsak till meddelar webbplatsen dig via e-post och när du besöker webbplatsen och söker efter kraschen som du skickade in upplösningen anger du var du ska hämta en drivrutins- eller operativsystemuppdatering. Tyvärr, medan OCA-stöd är inbyggt i XP och det accepterar Windows 2000 kraschdumpfiler, stöder det inte NT 4 och kan inte identifiera orsaken till de flesta krascher (åtminstone enligt min erfarenhet).

För att kunna utföra kraschanalys själv behöver du lämpliga verktyg som Microsoft tillhandahåller i form av de felsökningsverktyg för Windows-paketet som du kan ladda ned från http://www.microsoft.com/ddk/Debugging/. Paketet innehåller bland annat Windbg-analysverktyget. När du har laddat ned och installerat verktygen kör du Windbg och öppnar filen|Dialogrutan Sökväg för symbolfil. Där berättar du för Windbg var du hittar symbolfiler för den version av operativsystemet som en krasch som du analyserar genererades från. Du kan ange en sökväg till en katalog där du har installerat symboler, men som kräver att du hämtar symbolfiler för det exakta operativsystemet, Service Pack och snabbkorrigeringar som är installerade på det kraschande systemet. Att manuellt hålla jämna steg med symbolfiler är omständligt och om du vill analysera krascher från olika system måste du oroa dig för olika uppsättningar symbolfiler för varje enskild installation.

Du kan undvika symbolfilens krångel genom att peka Windbg på Microsofts symbolserver. När du konfigurerar den för att använda symbolservern laddar Windbg automatiskt ned symbolfiler på begäran baserat på kraschdumpen som du öppnar. Symbolservern lagrar symboler för NT 4 via Server 2003-betaversioner och versionskandidater, inklusive servicepaket och snabbkorrigeringar. Syntaxen för att dirigera Windbg till symbolservern är srv*c:\symbols*http://msdl.microsoft.com/download/symbols. Ersätt c:\symbols med katalogen där du vill lagra symbolfiler. Mer information om symboler finns i http://www.microsoft.com/ddk/debugging/symbols.asp

Det finns ytterligare ett steg som du måste utföra innan du är redo att analysera kraschdumpar: konfigurera dina system för att generera dem. Gör detta genom att öppna System-appleten på kontrollpanelen och på Win2k och senare klickar du på start-/avstängningsknappen på sidan Avancerat. På NT 4 går du till fliken Start/avstängning för appleten. Det enda kraschdumpalternativet på NT 4-system är en fullständig minnesdump, där hela innehållet i det fysiska minnet vid tidpunkten för en krasch sparas i den fil som du anger. På Win2k och högre finns det tre alternativ: mini, kernel och full. Win2K & XP Professional och Home standard mini; Serversystemen är som standard fulla. För arbetsstations-/klientdatorer ändrar du inställningen från mini till kerneldump, som endast sparar delar av fysiskt minne som ägs av operativsystemet (i motsats till program), eftersom det minimerar storleken på kraschdumpfilen och fortfarande ger fullständig information om kerneldatastrukturer som Windbg behöver för att effektivt analysera en krasch. För serversystem är fullständiga dumpar bra, men kerneldumpar är ett säkert val (och eventuellt ditt enda val om du har ett mycket stort minnessystem).

Nu är du redo att analysera en krasch. När en inträffar läser du bara in den resulterande dumpfilen i Windbg genom att välja Filen|Öppna menyalternativet Kraschdump. När dumpen läser in Windbg börjar bearbeta den så visas meddelanden om operativsystemversionen och symbolinläsningen. Sedan visas ett meddelande med texten "Bugcheck Analysis". Utdata efter meddelandet rapporterar kraschkodens och kraschkodens parametrar, samt en "troligen orsakad av".

I vissa fall räcker den grundläggande analys som Windbg utför här för att identifiera den felande drivrutinen eller kernelkomponenten. Jag rekommenderar dock att du alltid anger följande kommando: !analyze -v. Det här kommandot resulterar i samma analys, men med mer information. Text förklarar till exempel innebörden av kraschkoden och berättar vad de valfria parametrarna representerar, ibland med råd om vad du ska prova härnäst. Du ser också en stackspårning, som är en post för funktionskörning som leder till koden där kraschen inträffade. Om en drivrutin skickar felaktiga data till kerneln eller en drivrutin som identifieras av analysen kan du se dess namn i spårningen och identifiera den som en möjlig rotorsak.

Om du vill fördjupa dig i systemets tillstånd vid tidpunkten för kraschen finns det många Windbg-kommandon som låter dig se listan över processer som körs, inlästa drivrutiner, minnesanvändning med mera. Windbg-hjälpfilen innehåller också en felkontrollreferens som jag rekommenderar att du följer upp med för mer information och vägledning, och om du fortfarande hamnar stumped rekommenderar jag att du utför en sökning i Microsofts Kunskapsbas (KB) för kraschkoden. Microsoft skapar KB-artiklar för vanliga krascher och dirigerar dig till leverantörswebbplatser eller snabbkorrigeringar som åtgärdar specifika problem.

Om du vill se mig presentera den här informationen live, med exempel, så kolla in mig på någon av följande konferenser:

  • Det interna och felsökningsseminarium David och jag levererar i april i Bellevue, WA
  • Windows och .NET Magazine Anslut ions i Scottsdale, AZ i maj:http://www.winconnections.com/win
  • TechEd US (Dallas) eller TechEd Europe (i Barcelona) i sommar

Tack för att du läser Sysinternals nyhetsbrev.

Publicerad onsdag 19 februari 2003 16:47 av ottoh

[Nyhetsbrev arkiv ^][< Volym 4, nummer 3][Volym 5, nummer 2 >]