Dela via


Versionsinformation

WinDbg-logotyp med förstoringsglas som inspekterar bitar.

Den här artikeln innehåller information om nyheter i WinDbg. Tidigare versioner släpptes som WinDbg Preview.

1.2510.7001.0

Förbättringar av användargränssnittet och upplevelsen

  • Öppna valfri minnesfönsterinstans från menyfliksområdet

Felsökning och prestandaförbättringar

  • Förhindrade stöld av återanrop till processinstrumentation för att förbättra felsökningstillförlitligheten
  • Förbättrad TTD-variabelhistorik (Time Travel Debugging) med tabellformatinställningar för bättre datavisualisering
  • En krasch i variabelhistoriken har åtgärdats vid återanvändning av generatorer genom att säkerställa korrekt funktionsinsamling
  • Förbättrad utvärderare för tvetydiga brytpunkter för att hantera mer komplexa felsökningsscenarier
  • En tom visning av Publisher-kolumnen har åtgärdats för appar i butiken och PLM-processer.

Uppdateringar av TTD- och replay-API:et

  • Kommandot !tt har uppdaterats för att tillhandahålla hjälp i ett enda rad och visa aktuell position när det anropas utan argument, istället för att gå till början av spårningen.
  • Experimentell Replay API SDK-tillgänglighet har lagts till för extern integrering
  • Förbättrade datamodellmetoder för variabelhistorik för förbättrad programmatisk åtkomst
  • Åtgärdade olika optimeringar av TTD-reprisåtgärder och förbättringar av återanropsstöd

Felkorrigeringar och stabilitet

  • Felrapportering som felaktigt visade "fel: Åtgärden har slutförts" har åtgärdats
  • Åtgärdade problem med bearbetning av värd-URL i fasttfgitview-kommandon
  • Förbättrad feltext kring symbolupplösning för att ge mer tydlig feedback
  • Problem med inläsning av PDB-filer för flat mappade .NET-sammansättningar på Linux har åtgärdats.
  • Åtgärdade bugg orsakad av läsning av oinitierad data i komponenter för felsökning.
  • Problem med filsökning i tilläggsgalleriet med korta filnamn har åtgärdats

1.2508.27001.0

Nya funktioner

  • Ett alternativ har lagts till för att inaktivera maskinvaruacceleration för grafik för WinDbg.
  • Lade till en ny .AlternateFunctions egenskap på <frame>.Attributes.SourceInformation.

Felkorrigeringar

  • Ett problem har åtgärdats där sidan Starta felsökning inte skulle uppdateras efter att en dialogruta öppnats.
  • Ett problem med flikmenyobjekt som ansluter till enheter som inte var tillgängliga för automatisering av användargränssnittet har åtgärdats.
  • Åtgärdade ett problem där de ogenomförda kommandoinmatningarna gick förlorade när du utforskade kommandohistoriken.
  • Fast mushjulshantering för korrekt jämn rullning (möss med släta hjul och styrplattor).
  • Åtgärdat vilseledande rekursivt steg-över-beteende i 32-bitars x86-felsökning när funktionsprologer kallas __SEH_prolog4.
  • En bugg har åtgärdats i inställningen .AllowNugetExeUpdate för NuGet-baserade tilläggsgallerier.
  • En bugg har åtgärdats vid läsning av DWARFv5-symboler runt .debug_names tabeller och namnindex.
  • Korrigerat instegsbeteende för källrader med flera stegfiltrerade anrop.
  • En krasch som orsakades av en ogiltig natvis versionssträng har åtgärdats.
  • Miljöblocköverföring har åtgärdats för CreateProcessW fjärrfelsökning.
  • Korrigerade !percpu- och !allpercpu-kommandon för CPU-pekare som har allokerats dynamiskt via alloc_percpu i Linux-kärnan.
  • Ett problem med CPU-nummer i Linux-kernel-felsökningssessioner har åtgärdats.
  • Åtgärdade saknade funktionsetiketter för Disassembly-fönstret för icke-PDB symbolmål.
  • Fast hantering av platshållarflyttar i ELF-binärfiler.
  • Fast dubbelfri i DWARF-symbolers hantering av DW_OP_fbreg.
  • Fixade regression i dumpinsamlingskod som förhindrade fullständig insamling av minnesdumpar för x64-on-ARM64-emulerade processer.

Allmänna förbättringar av användargränssnittet

  • Har förbättrat hur WinDbg återställer fönsterpositionen när du byter till skärmar med olika upplösningar. WinDbg sparar och återställer nu även snappade positioner.
  • Implementerad vågrät rullning med hjälp av mushjulet medan du håller ned Skift-tangenten.
  • Uppdaterade väljaren Öppna mapp så att den använder den moderna dialogrutan.

1.2506.12002.0

Nya funktioner

WinDbg levereras nu med felsökningsprogram för konsolläge (cdb.exe/ntsd64.exe/kd.exe). Om du vill skilja binärfilerna från varandra och inte störa befintliga kopior av verktygen innehåller binärfilerna arkitekturnamnet:

  • cdbARM64.exe/cdbX64.exe/cdbX86.exe
  • kdARM64.exe/kdX64.exe/kdX86.exe
  • ntsdARM64.exe/ntsdX64.exe/ntsdX86.exe

Fler funktioner:

  • Fönsterrubriken $OpenDmoToolwindow för datamodellverktyget kan anpassas via kommandot och kan också ändras via snabbmenyn för namnlisten.
  • Ny felsökningsinställning för att aktivera parallella HTTP-nedladdningar av symbolfiler. Det här alternativet är aktiverat som standard.

Felkorrigeringar

  • Fast hur målvägen sparas för dumpfiler som öppnats via kommandoraden, så att du kan öppna den framgångsrikt från menyn Senaste dokument.
  • Ett fel som orsakade en krasch i fönstret Skriptredigerare har åtgärdats.
  • WinDbg:s hantering av inkonsekventa radslut i källfiler som öppnats i Source-fönstret har förbättrats för att ge en mer konsekvent vy över källfilerna.
  • Åtgärdade ett problem där autentiseringsuppgifterna inte förnyades för HTTP-symbolservrar när du använder den nya funktionen för parallella nedladdningar.
  • Ett problem har åtgärdats där egenskaperna för datamodellobjekt inte räknas upp korrekt i JavaScript-tillägg.
  • Åtgärdade ett problem där kolumntexten försvann när den omordnades via dragning.
  • Ett problem har åtgärdats där inställning av händelsefiltrering via kommandoradsalternativ inte tillämpades på felsökningsmålet vid start.
  • Ett problem har åtgärdats där avdockning av ett verktygsfönster ibland resulterade i tomt innehåll.
  • ** Ett problem har åtgärdats där minidumpar av X64-emulerade processer på ARM64-datorer inte kunde debugga.
  • Ett problem har åtgärdats där tvetydiga brytpunkter kraschade felsökningsprogrammet.
  • Åtgärdade ett problem där GDBServer kraschade vid processavslut vid felsökning av en live Linux-process.
  • Flera problem relaterade till felsökning av JavaScript-tillägg (.scriptdebug) har åtgärdats, inklusive bättre uppräkning av egenskaper och fixande av ett kraschproblem.

Allmänna förbättringar av användargränssnittet

  • Justerade kommandoförslag-popupen till att alignera med markören. Nu visas bara föreslagna slutföranden i stället för allt före markören.
  • Mer detaljer har lagts till i dialogrutan för fel vid felsökningsmål. För misslyckade öppna dumpar tillhandahölls en hyperlänk till en TSG-fil som inte kunde öppnas.
  • Gav verktygsfönster titelrader samma snabbmeny som deras dockade flik.
  • Gjorde visuella förbättringar av Lokal, Övervakning och Model fönstren.
  • TTD (Time Travel Debugging) har uppdaterats till version 1.11.532. Mer information finns i viktig information om TTD.

1.2502.25002.0

Nya funktioner

Kommandofönstret IntelliSense

Kommandotolken visar automatiskt föreslagna slutföranden när det första inskrivna tecknet är . (punkt), ! (bang) eller $ (dollartecken).

Förslag kan också anropas med kommandogenvägen Ctrl+Blanksteg.

Felsökning av ögonblicksbilder

När WinDbg felsöker liveprocesser lokalt kan det också ta ögonblicksbilder av processen. Om du vill växla mellan ögonblicksbilder och liveprocessen använder du ikonerna på fliken Tillägg .

På samma sätt kan WinDbg ansluta till en processögonblicksbild av en process utan att pausa den via en snapshot:pid=<process pid in hex> protokollsträng i Connect to remote debugger.

Api:er för ny datamodell

  • Debugger.Utility.Symbols.GetTypeInformation

    Returnerar den typinformation som är associerad med alla objekt som skickas. Ett valfritt argument möjliggör automatisk dereferensiering (en nivå) av pekare om du vill ha typen som pekaren hänvisar till (eller referens).

  • Debugger.Utility.Control.CreateStepFilter(<Type>, <Pattern>)

    Skapar ett nytt stegfilter som finns i namnområdet bredvid alla API:er för att skapa brytpunkter.

  • Debugger.State.StepFilters

    Returnerar listan med stegfilter som har egenskaperna Id, Description, Type, Patternoch IsEnabled. Det finns en .Remove() metod för stegfilterobjekt.

Förbättrad CLR-felsökning utan clrcomposition.dll

Den omdistribuerbara komponenten dbgeng.dll förbättrar stackens stöd för CLR-ramar (Common Language Runtime) utan att behöva clrcomposition.dll finnas.

Slumpmässiga förbättringar

  • Förbättrat stöd för felsökning av Linux-kernel (särskilt för 6,11+ kernels).
  • Stöd har lagts till för ZSTD-komprimerade KDUMP-sidor.

Felkorrigeringar

  • Uppdaterad serveroperativsystem (SOS) till version 9.0.557512.
  • En prestandaregression har åtgärdats vid kontroll av återkallade signaturer vid inläsning av msdia140.dll.
  • Åtgärdade en krasch vid läsning av XSTATE-kontexten.
  • Funktionaliteten för att markera inaktiverade brytpunkter har fixats i fönstret Disassembly för att tydligt skilja dem från aktiverade brytpunkter.
  • En krasch har åtgärdats när du stänger ett flytande verktygsfönster.
  • Ett problem har åtgärdats där den aktuella positionen för tidslinjefönstret inte alltid fylldes i efter att en spårning nyligen öppnats.
  • Ett problem har åtgärdats i fönstren Disassembly och Memory , som inte alltid uppdaterades efter att ett nytt värde angavs.
  • Färgschemat för namnlisten i det mörka temat har åtgärdats.
  • Åtgärdade presentationen av uppskjutna brytpunkter i fönstret Brytpunkter där Plats visade 0x0 istället för det ursprungliga uttrycket som angavs när det skapades. Den har också en distinkt ikon som anger att den inte är bunden.
  • Ett problem har åtgärdats i fönstren Locals och Watch där högerklicka på ett synligt objekt fick vyn att rulla uppåt.
  • Problem med natvis har åtgärdats. Mer information finns i den ursprungliga felrapporten.
  • Felsökarens skräppost har åtgärdats kd med meddelandet Error getting port connector information. Mer information finns i den ursprungliga felrapporten.
  • Ett problem med att gc utlöste villkorliga brytpunkter när villkoret var falskt har åtgärdats.
  • Ett problem har åtgärdats så att YMM- och ZMM-register nu kan visas när du felsöker en TTD-spårning.

Hjälpmedelskorrigeringar

  • Förbättrad tangentbordsnavigering för Locals-, Watch- och Breakpoints-fönstren.
  • Förbättrad visuell läsbarhet för menyfliksområdet och fönster för Lokal, Klocka och Brytpunkter .
  • Förbättrad användbarhet för skärmläsare av Locals-, Watch- och Breakpoints-fönster.
  • Bevarade tidigare tangentbordsfokus, markeringar och rullning när det är möjligt för redigering av objekt i Lokala, Watch- och Brytpunkter-fönster.
  • Förbättrat allmänt stöd för Windows-textskalning.

Allmänna förbättringar av användargränssnittet

  • Ett kommando har lagts till för att flytta fokus från en textruta för kommandoinmatning till en kommandoutdatafönster med funktionen "Toggle Mark mode" (likt en kommandotolk). Genvägen är Ctrl+M.
  • En kontextmeny Gå till Disassembly har lagts till i fönstret Brytpunkter.
  • En snabbmeny har lagts till i fönstret Disassembly för Kör till instruktion, Ange instruktionspekare, Gå till källa, Växla brytpunkt och Växla brytpunktstillstånd .

Felsökning av tidsresor

1.2410.11001.0

Genomgripande ändring

Nu länkar dbghelp.dll dynamiskt till msdia140.dll. Den här ändringen bör endast påverka verktyg som omdistribuerar dbghelp.dll utan att även inkludera msdia140.dll. NuGet-paket som innehåller dbghelp.dll innehåller även msdia140.dll.

Felkorrigeringar

  • Ett problem har åtgärdats där tilläggsgalleriets funktionsalias inte var bundna till belastningsutlösarna.
  • Ett problem har åtgärdats där symbolarkivet fortfarande fungerade även när ett ERROR_INTERNET_SECURITY_CHANNEL-fel mottogs.
  • Åtgärdade ett problem där ett omvänt snedstreck inte kunde skrivas i kommandofönstret för tangentbordslayouter som inte är engelska.
  • Ett problem har åtgärdats där textrutan för redigering i fönster för Lokal information, Klocka och Brytpunkter inte skulle rulla till markören när texten var längre än den kolumn där den fanns.
  • Prioriterad *.dmp (en period) över *.*.dmp (dubbla perioder) för CAB- eller ZIP-dumpar.

Hjälpmedelskorrigeringar

  • Kolumnstorlekar kan nu ändras via tangentbordet för Locals- och Watch-fönster.
  • Förbättrad tangentbordsnavigering i Hela WinDbgX.

1.2409.17001.0

Hjälpmedelskorrigeringar

Flera problem har åtgärdats när du interagerar med WinDbg med hjälp av en skärmläsare.

Felkorrigeringar

  • Åtgärdat ett problem där avinstallation av WinDbgX förhindrar öppnandet av WinDbg (klassisk).
  • Åtgärdade ett problem där WinDbgX skulle ändra storlek efter att det visades under öppningen.

Felsökning av tidsresor

1.2407.24003.0

Nya funktioner

Ny JavaScript-skriptprovider

Nu skickar vi en ny bakåtkompatibel JavaScript-provider baserad på V8. Därför kan ARM64-värdar nu använda JavaScript-tillägg. ARM64-användargränssnittet är nu också standard för ARM64-motorn.

Den nya providern är aktiverad som standard i alla arkitekturer. På x86 och x64 kan den aktiveras eller inaktiveras via .veighton kommandona och .veightoff . I framtiden planerar vi att ta bort dessa kommandon och den äldre JavaScript-providern.

Felsökningstillägg med tilläggsgallerimanifest kan nu lägga till ikoner på den nya fliken Tillägg i menyfliksområdet WinDbg. Om du väljer dessa ikoner utlöses en visualisering av en specifik datamodellfråga. Utökningsbarhet uppnås genom att du lägger till vyer i tilläggsgallerimanifestet. En vy binder en koppling av ett namn och en ikon till en datamodellfråga och visningstyp. Dokumentation finns i Dokumentation om manifestet för tilläggsgalleriet.

Ett galleritillägg kan nu läsas in villkorligt baserat på specifika undantagsparametervärden. Mer information finns i dokumentationen om manifestet för tilläggsgalleriet.

Konfigurationsalternativ för att aldrig ladda ned specifika symboler

Nu kan du hoppa över att ladda ned symboler för angivna bilder.

I avsnittet Symbols i konfigurationsfilen för DbgX.xml kan du lägga till en lista med symboler:

<Namespace Name="DisabledSymbolsDownload">
  <Setting Name="MSEdge.dll" Type="VT_BSTR" Value=""></Setting>
</Namespace>

I felsökningsprogrammet kan du köra dx Debugger.Settings.Symbols.DisabledSymbolsDownload för att visa den aktuella listan över symboler som inte laddas ned.

Du kan också ändra listan direkt från felsökningsprogrammet:

dx @$curprocess.Modules[1].DisableSymbolDownload()
dx @$curprocess.Modules[1].EnableSymbolDownload()

För att underlätta felsökning av problem med att ladda ned källor baserat på inbäddad SourceLink kan du nu använda kommandot !lmsourcesinfo module för att visa innehållet i SourceLink det som felsökningsprogrammet använder.

Allmänna förbättringar av användargränssnittet

Gjorde små förbättringar av fönster som moduler och Stack-fönster :

  • Rubrikkolumnen används för att sortera rutnätsvyer.
  • Fler högerklicksåtgärder är tillgängliga.
  • Stack-fönstret visar bildrutor som inlindade när det är lämpligt.

Felkorrigeringar

  • Ett problem har åtgärdats där PDF-filer som är större än 4 GB inte skulle laddas ned via HTTP. Edge är ett exempel på ett sådant PDB.
  • Ett cachelagringsproblem har åtgärdats i providern för autentiseringsuppgifter för felsökningsprogrammet. (Nu cachelagrar den autentiseringsuppgifter per plats.)
  • Buggar har åtgärdats under utvärderingen av tilläggsgalleriets inläsningsutlösare.
  • En bugg med !address som kan orsaka en krasch har åtgärdats.
  • Åtgärdade !heap -a -a så att det fungerar nu.

TTD

Se viktig information om TTD för version 1.11.410.

1.2402.24001.0

Nya funktioner

Live Linux-felsökning

Nu kan du felsöka en Linux-process live. Mer information finns i följande artiklar:

WinDbg-klienten kräver Windows under överskådlig framtid eftersom WinDbg inte körs på Linux.

Registrera en delmängd av körningen med tidsresandefelsökning

Nu kan du ange en lista över moduler som ska registreras för att fokusera TTD på de moduler som du bryr dig om. Den här funktionen kan minska inspelningskostnaderna. Om du vill använda den går du till dialogrutan Konfigurera och spela in och väljer Spela in del av körningen. Ange sedan de moduler som du vill spela in. (Mer information finns i Kända problem.)

För finare kontroll kan du exakt registrera ditt program med hjälp av ett nytt api för processinspelning. Information om hur du registrerar ditt program finns i vår exempelkod och dokumentation.

Kompakt registerfönster

Det nya registerfönstret ser ut som utdata från r kommandot. Redigering från det nya registerfönstret stöds ännu inte.

Nya parametrar för e (Ange värden) i minneskommandon

e (Ange värden i minneskommandon) stöder nu fysiska adresser som kommandona d (Visa minne). De här alternativen stöds endast i kernelläge.

Alternativ Beskrivning
/p Använder fysiska minnesadresser för att visa bildskärmen. Intervallet som anges av Intervall hämtas från fysiskt minne i stället för virtuellt minne.
/p[c] Samma som /p, förutom att cachelagrat minne läses. Hakparenteserna runt c måste ingå.
/p[uc] Samma som /p, med undantag för att icke-cachelagrat minne läses. Hakparenteserna runt uc måste ingå.
/p[wc] Samma som /p, förutom att skriv kombinerat minne är läst. Hakparenteserna runt wc måste ingå.

Mer information finns i e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza (Enter Values).

Felkorrigeringar

  • Stöd har lagts till för Rust-namnavkodning vid Linux-felsökning.
  • Gjorde förbättringar för CLR-felsökning:
    • Lade till möjligheten att framtvinga liggande CLR-ramar i blandat läge.
      • En ForceMixedModeStackWalker inställning har lagts till i config.xml eller DbgX.xml.
      • Kommandot har lagts till !forceclrmixedmodeunwind för enstaka undersökningar eller om du inte kan ändra konfigurationsinställningen.
  • Gjorde allmänna förbättringar av CLR-felsökning i Linux.
  • Flera problem med LinuxKernel.js variabler och per CPU har åtgärdats:
    • !runq Kommandot har lagts till för LinuxKernel.js att kunna dumpa körningsköerna per CPU-kernel (liknande i form av Linux-kraschverktygets runq kommando).
    • Olika kommandon har åtgärdats i LinuxKernel.js för att motsvara kerneländringar. I nyare kernels använder tidsträd cachelagrade RB-noder i stället för råa RB-noder. I nyare kernels är listan all_bdevs borta, så hanterar man nu blockenheter från superblocket i stället blockdev_superblock.
  • Gjorde olika natvis korrigeringar för att fungera mer som de senaste versionerna av Visual Studio.
  • Prioriterad sourcelink jämfört med äldre sourceinfo.
    • Har lagt till !lmsourcesinfo <module>-kommandot för att visa sourcelink strömmar från PDB-filer (för att underlätta felsökning med sourcelink).

Kända problem

När du anger en lista över moduler som ska registreras med TTD fungerar det inte att ange mer än en modul i den här versionen.

1.2308.2002.0

Gjorde många felkorrigeringar och små förbättringar.

1.2306.12001.0

Gjorde många felkorrigeringar och små förbättringar.

1.2303.30001.0

Not

Felsökningsprogrammet har bytt namn från WinDbg Preview till WinDbg.

Det äldre felsökningsprogrammet som släpptes med felsökningsverktyg för Windows kallas nu WinDbg (klassisk).

Felsökning med Time Travel Debugging på ARM64

WinDbg körs internt på ARM64 och vi har även aktiverat TTD för inbyggda ARM64-processer. Nu kan du registrera inbyggda ARM64-processer (och x86- och ARM32-processer) och felsöka dem enkelt, även på din x64-dator. Stöd för x64- eller x64-aktiverade processer (ARM64EC) på ARM64-enheter är ännu inte tillgängligt.

Den övergripande TTD-prestandan förbättrades också, och inspelningskostnaderna minskade avsevärt för processer som använder vanliga SIMD-instruktioner. Totalt optimerades 65 nya instruktioner, som sträcker sig från MMX till SSE 4.2, AVX och AVX2.

Tvetydig brytpunktsupplösning

Tvetydiga brytpunkter gör det möjligt för felsökaren att ange brytpunkter i vissa scenarier där ett brytpunktsuttryck löser sig till flera platser. Mer information finns i lösning på tvetydigt brytpunktproblem.

1.2107.13001.0

WinDbg Preview-sökning innehåller nu alternativet att söka med hjälp av reguljära uttryck, så kallade regex. Om du vill aktivera regex i fönstret som du vill söka efter väljer du Ctrl+F. Växla sedan knappen som är .* märkt bredvid sökrutan.

Begränsat läge

Begränsat läge är en valfri inställning som kan begränsa typen av felsökningssessioner som WinDbg Preview kan starta till endast fjärrfelsökningssessioner och dumpfiler. Mer information finns i WinDbg: Restricted mode.

Stöd för skuggad variabel

I tidigare versioner genererar WinDbg fel med "tvetydig symbol" när man försöker utvärdera (??) eller visa (dx) en variabel som delar namnet med en annan variabel i omfånget. WinDbg särskiljer nu variabler som delar samma namn genom att lägga @n till variabelnamnet. Exempel är foo@0 och foo@1

Den här ändringen återspeglas också i fönstret Lokal . Tidigare visades bara den närmaste variabeln i omfånget.

1.2104.13002.0

En praktisk produktivitetsfunktion i WinDbg Preview är möjligheten att identifiera mönster i kommandofönstret . Om du vill identifiera mönster markerar du valfri text och alla andra instanser av texten är markerade. Den här markeringen är användbar när du tittar på minnesmönster. Nu markeras även motsvarande tal i andra radix, oavsett hur talet formateras i hex, decimal eller vetenskaplig notation. Mer information om numreringsscheman finns i n (Ange nummerbas).

Exempel:

När du väljer 0x000001e2fb3f6160markeras alla andra instanser oavsett format.

Skärmbild av fönstret WinDbg **Command** med flera talformat markerade.

Den här funktionen fungerar också med halvtillfälliga markeringar. Välj Ctrl och dubbelklicka på ett tal för att markera alla dess instanser. Du kan hålla reda på flera viktiga tal i kommandohistoriken på det här sättet. (Om du vill rensa markeringar väljer du Ctrl och dubbelklickar på talet igen.) Slutligen fungerar även den här funktionen när du söker efter nummer genom att välja Ctrl+F.

Utökad källkodsåtkomst

Källsökvägskommandot .srcpath, .lsrcpath (Ange källsökväg) uppdaterades för att inkludera den nya taggen DebugInfoD. Mer information finns i Källkod utökad åtkomst.

Värd- och gästtillstånd för WOW-processer i datamodellen

När du felsöker en 32-bitars WOW-process från en 64-bitarskontext kan du nu komma åt både värd- och gästtillstånden i datamodellen.

Exempel på 32-bitars gästtillstånd:

  • dx @$curprocess.Environment
  • dx @$curthread.Environment
  • dx @$curthread.Stack

Exempel på 64-bitars värdtillstånd:

  • dx @$curprocess.NativeEnvironment
  • dx @$curthread.NativeEnvironment
  • dx @$curthread.NativeStack

Förbättringar av JavaScript-felsökning

JavaScript som läses in i användargränssnittet .scriptdebug använder nu kommandot för direkt felsökning i konsolen. Mer information finns i JavaScript-felsökningsskript: JavaScript-felsökning.

Hjälpmedelsförbättringar

Med WinDbg Preview har vi åtagit oss att skapa ett felsökningsprogram som är inkluderande för tekniker med funktionshinder. Vi har gjort följande hjälpmedelsförbättringar:

  • Kommandofönstrets länkar kan klickas via tangentbordet (välj Skift+Retur).
  • Förbättrad tangentbordsnavigering på huvudmenyn.
  • Förbättrad tangentbordsnavigering i menyfliksområdet.
  • Ökad kontrast på användargränssnittselement.

Ny typ av överskrivning av dataåtkomst för felsökning av tidsresor

Felsökning av tidsresor ger nu en Overwrite dataåtkomsttyp. Minnesfrågor som dx @$cursession.TTD.Memory() nu har en annan kolumn som visar de gamla värdena för skrivningar.

Andra korrigeringar, förbättringar och uppdateringar

  • En funktion har lagts till för att automatiskt identifiera och tillämpa en lösning på ett maskinvaruproblem med USB 3.1 när både kernel-felsökningsvärden och målet är USB 3.1-styrenheter.
  • En ny genväg i användargränssnittet har lagts till: Ctrl+Skift+Välj över en DML-länk kopierar den till urklippet.

1.0.2007.01003

Tidslinjebokmärken

Bokmärk viktiga tidsresepositioner i WinDbg i stället för att kopiera och klistra in positionen till Anteckningar manuellt. Bokmärken gör det enklare att snabbt visa olika positioner i spårningen i förhållande till andra händelser och kommentera dem.

Du kan ange ett beskrivande namn för bokmärken.

Skärmbild av den nya bokmärkesdialogrutan med exempelnamnet för första API-anropet i appen Visa hälsning.

Få åtkomst till bokmärken via fönstret Tidslinjer som är tillgängligt i Visa>tidslinje. När du hovrar över ett bokmärke visas bokmärkets namn.

Skärmbild av WinDbg-tidslinjen med tre bokmärken och en knappbeskrivning som visar bokmärkets namn.

Du kan välja och hålla (eller högerklicka) bokmärket för att resa till den positionen, byta namn på eller ta bort bokmärket.

Skärmbild av högerklicksmenyn för bokmärken med alternativ för att gå till positionen, redigera och ta bort.

Fönstret Moduler

Ett nytt fönster visar moduler och deras relaterade information som är tillgänglig via menyfliksområdet Visa . Fönstret Moduler visar:

  • Namnet på modulen, inklusive sökvägens plats.
  • Storleken i byte för den inlästa modulen.
  • Basadressen där modulen läses in.
  • Filversionen.

Skärmbild av fönstret WinDbg-moduler som visar fem listade moduler.

Trådnamn/beskrivningar som är tillgängliga i direkt felsökning

Trådnamn som har angetts från SetThreadDescription är nu tillgängliga vid felsökning i live-användarläge. Trådnamn är tillgängliga med hjälp ~ av kommandot eller datamodellen för felsökningsprogrammet.

0:000> ~
   0  Id: 53a0.5ffc Suspend: 1 Teb: 000000b1`db1ed000 Unfrozen "Hello world!"
   7  Id: 53a0.9114 Suspend: 1 Teb: 000000b1`db1ef000 Unfrozen
   8  Id: 53a0.2cc4 Suspend: 1 Teb: 000000b1`db1f1000 Unfrozen
   9  Id: 53a0.5c40 Suspend: 1 Teb: 000000b1`db1f3000 Unfrozen

0:000> dx @$curthread
@$curthread                 : ConsoleTestApp!ILT+25(mainCRTStartup) (00007ff7`fac7101e)  [Switch To]
    Id               : 0x5ffc
    Name             : Hello world!
    Stack
    Registers
    Environment

Stöd för bärbar PDB

Stöd för bärbar PDB har lagts till. PDB-formatet beskriver en kodning av felsökningsinformation som produceras av kompilatorer av CLI-språk och som används av felsökningsprogram och andra verktyg. Mer information finns i Bärbara PDB-symboler.

Andra ändringar och felkorrigeringar

  • Stöd för felsökning av AMD64- och Linux-kerneldumpar för WinDbg.
  • Gjorde förbättringar av tidsreseinspelningar och andra justeringar.

1.0.1912.11001

  • TTD-tidslinjer: Ett nytt fönster visar en visuell representation av viktiga händelser i spårningen: undantag, brytpunkter, funktionsanrop och minnesåtkomster. Tidslinjer öppnas automatiskt och visar undantag (om de finns) och brytpunkter. Mer information finns i WinDbg Preview: Tidslinje.
  • Växlade till standardfönsterkrom: Den anpassade fönsterkrom som vi använde orsakade vissa skalnings- och storleksändringsproblem, så vi tog bort den för tillfället.
  • Förbättrad tangentbordsnavigering på filmenyn: Filmenyn är enklare att navigera med bara ett tangentbord.

Andra ändringar och felkorrigeringar

  • Inaktiverade fönstren Stack och Locals medan målet körs för att undvika att "Ospecificerat fel" visas när det inte finns något mål.
  • En tjänstkolumn har lagts till i dialogrutan Bifoga för att hjälpa dig att enkelt hitta vilka tjänster som körs.
  • En bugg som gjorde att arkitekturidentifieringen inte fungerade när program öppnades med argument har åtgärdats.
  • Förbättrad demonteringsprocess för "disassembly"-fönstret när privata programsymboler läses in.
  • Knappen Läs in JSProvider har tagits bort från skriptfliksområdet eftersom jsprovider.dll nu läses in automatiskt.

1.0.1908.30002

  • Förbättringar av TTD-anropsobjekt: Anropsfrågor innehåller nu parameternamn, typer och värden. När du söker genom spår för funktionsanrop kan du få fullständiga parametrar och deras värden. Den här funktionen gör det enkelt att filtrera ned resultat efter parametrar.
  • Stöd för Open Enclave: WinDbg Preview kan nu felsöka Open Enclave-program. Mer information finns i Felsökning av öppna enklaver).
  • ELF-kärndumpar: Som en del av stöd för Open Enclave kan WinDbg öppna ELF-kärndumpar och binärfiler och även DVÄRG-symboler (DWARF 5 stöds inte för närvarande) från både enklaver och Linux-program. När du öppnar en kärndump från ett icke-Windows-program bör alla grundläggande fönster och kommandon fungera korrekt, men de flesta tillägg och Windows-specifika kommandon fungerar inte. ELF- och DWARF-filer laddas ned från symbolservrar enligt de nyckelkonventioner som definieras i SSQP-nyckelkonventioner. Enklaver är det enda scenario som stöds, men vi välkomnar feedback om att öppna andra Linux-kärndumpar.
  • Ändring av TTD-filformat: En större uppdatering av filformatet för TTD-spårningar bryter framtida kompatibilitet. Tidigare versioner av WinDbg Preview kan inte öppna spårningar som registrerats med den här versionen och framtida versioner av WinDbg Preview. Den här versionen och framtida versioner kommer att kunna öppna både nya och gamla spårningar.

Andra ändringar

  • TTD använder nu en 64-bitarsmotor för indexering och den lämpliga felsökningsmotorns bitness för repriser. Potentiella minnesproblem vid indexering och SOS-problem vid omspelning minimeras.
  • Om du kör dx utan några parametrar visas nu rot-namnområdet för enklare läsbarhet.
  • Menyn Inställningar har nu alternativ för att ändra standardsymbolen och källcacheplatsen.
  • Stöd för inspelning av AVX-512 (inspelning av AVX-512 orsakar en långsammare inbromsning än normalt) förbättras.
  • Offlinelicensiering är aktiverat.

1.0.1905.12001

  • Förbättringar av SymSetDiaSession-felreducering: Korrigeringen för att minimera felet som orsakas av program som matar in DbgHelp i vår process fungerade inte i vissa scenarier. Vi har förbättrat det och fortsätter att övervaka feedback om det här felet.

  • Anpassning av accentfärg: Ofta behöver scenarier flera instanser av WinDbg öppna. Att flytta fram och tillbaka mellan dem kan vara förvirrande och ta lite tid att ta reda på vilken som är den "rätta". Vi har lagt till möjligheten att ändra den blå accentfärgen för att hjälpa till att visuellt skilja sessioner och göra det enklare att växla mellan dem.

    Välj menyfliksområdet Visa och välj ett alternativ för dekorfärg i det sista avsnittet. När framtida sessioner öppnas från de senaste målen bevaras accentfärgen som en del av målets arbetsyta.

  • Förbättringar av källtokenisering: Källfönstret har nu grundläggande stöd för tokenisering av Rust-källfiler och C++ SEH-__try/__except/__finally/__leave.

  • Coroutine-förbättringar: Vi har förbättrat stödet för lokala koroutinvariabler och vissa optimerade variabler.

  • Standardinställning för symbol och källcache: Vi har lagt till ett alternativ på menyn Inställningar under Felsökningsinställningar för att ändra cacheplatsen för symboler. Det finns ett känt problem som gör den här inställningen tom, vilket gör att källinläsningen misslyckas. Vi planerar att lägga till validering för att förhindra att det här problemet inträffar i en framtida version.

  • -pv-korrigeringar: Vi har åtgärdat ett fel som kunde ha förhindrat -pv (icke-invasiv inkoppling) från att fungera under vissa omständigheter.

1.0.1904.18001

  • Korrigering för SymSetDiaSession-fel: Vi hade rapporter om ett fel som hindrar WinDbg Preview från att öppnas i vissa situationer. Några externa program försöker mata in en version av DbgHelp i vår process innan vi läser in den. Vissa av dem använder en version av DbgHelp med funktioner som saknas, vilket orsakar det här felet när vi försöker använda dessa funktioner. Vi har lagt till en korrigering för det här problemet och planerar att spåra det för att avgöra om det finns scenarier där det fortfarande inträffar.
  • Teckensnittskontroll: Vi har lagt till inställningar för att styra teckensnitt och teckenstorlek. Det finns två olika inställningar: en är för textfönster (mono-blankstegsfönster som Disassembly, Source och Command), och en är för verktygsfönster (som Locals och Stack). De här alternativen påverkar inte några områden. Vi planerar att uppdatera dem i framtiden.
  • Förbättringar av markering: Beständiga markeringar av text i kommandofönstret markerar nu även text i käll - och anteckningsfönstren .
  • Förbättringar av källinläsning: Vi har ändrat hur inläsning av källfiler fungerar. Tidigare, när du öppnade en källfil, var motoråtgärder som att köra fler kommandon inte möjliga eller var oförutsägbara. Vi har ändrat var inläsningen sker för att möjliggöra bättre parallellitet och mer tillförlitlig annullering av källöppningsåtgärder.

Andra ändringar och felkorrigeringar

  • Alternativet Gå till demonteringsläge har lagts till i snabbmenyn i Källa-fönstret.
  • Kryssrutan Följ aktuell instruktion har lagts till i fönstret Disassembly .
  • Ett fel har åtgärdats som gjorde att kommandofönstret gick långsamt när det matar ut stora mängder text.
  • Ändrade tangenterna Sida upp och Sida ned så att de fungerar på samma sätt som Visual Studio.
  • Gjorde ändringar så att när en ASM-fil öppnas i källfönstret har den nu grundläggande markering av kommentarer, strängar och direktiv.

1.0.1812.12001

Den här versionen innehåller följande uppdateringar:

  • C++-huvud för felsökningsdatamodell: Det finns en ny C++-rubrik, DbgModel.h, som ingår som en del av Windows SDK för att utöka felsökningsdatamodellen via C++. Mer information finns i Översikt över felsökningsdatamodellen C++. Den här versionen innehåller ett nytt tillägg som lägger till fler API-liknande funktioner i felsökningsdatamodellen, vilka kan nås via dx-kommandot, JavaScript och den nya DbgModel.h-rubriken. Det här tillägget utökar datamodellen till att omfatta kunskaper om sammansättning och kodkörning via namnområdet Debugger.Utility.Code och det lokala filsystemet via namnområdet Debugger.Utility.FileSystem.
  • Tillägg för syntetiska typer: Med det här nya API-tillägget har vi ett nytt exempel på vår GitHub-lagringsplats. Det här JavaScript-tillägget läser grundläggande C-huvudfiler och definierar syntetisk typinformation för de strukturer och fackföreningar som definieras i rubriken. dx Med kommandot kan minnet sedan visas strukturerat som om du hade ett PDB med typinformation för dessa typer.

Andra ändringar och felkorrigeringar

  • WinDbg Preview hanterar nu intelligentare att föra källfönster eller disassembly-fönstret till förgrunden när du steppar.
  • WinDbg Preview-fönstrets rubrik ordnades om för att ha mer viktig information i början när kernelfelsökningen gjordes.
  • Den alternerande bakgrundskontrasten i kommandofönstret bör vara något mer märkbar.

1.0.1810.2001

Den här versionen innehåller följande uppdateringar:

  • Lade till en ny inställningsdialogruta som du kan komma åt från menyn Arkiv eller menyfliksområdet Start .
  • En dialogruta för händelser och undantag har lagts till. Den här menyn ändrar hur felsökaren hanterar händelser och undantag, motsvarande kommandona sx eller dialogrutan för händelsefilter i WinDbg. I menyfliksområdet Start väljer du Inställningar. På den vänstra menyn väljer du Händelser och undantag för att hantera händelser och undantag.
  • Förbättrade TTD-indexeraren med bättre prestanda. Den här förbättringen ökar prestandan för indexering av TTD-spårningsfiler, vilket gör indexeringsprocessen snabbare (mellan 2 och 10 gånger) samtidigt som indexfilerna blir mindre (~50% mindre). Prestandaförbättringarna är mest märkbara för spårningar över 4 GB i storlek, eller när du använder en dator med många CPU-kärnor (8+). Den nya indexeraren gör det mer möjligt att felsöka stora spårningar (50 GB+).
  • En ny debugArch startflagga har lagts till för att ange arkitektur. WinDbg Preview försöker starta felsökningsmotorn med rätt bitupplösning för målet, för att bättre stödja felsökning av hanterad kod. Det finns omständigheter där det inte kan avgöra rätt bitstorlek, eller så kanske du vill åsidosätta vad det bestämmer. Använd -debugArch x86|amd64 för att styra arkitekturen för felsökningsmotorn.

Andra ändringar och felkorrigeringar

  • En bugg har åtgärdats som gjorde att svarta staplar visades i en helskärmsdebugger när ett flytande fönster var öppet.
  • En bugg som gjorde att symbolalternativen rensades oavsiktligt har åtgärdats.
  • Bevarad kommandohistorik nu när du öppnar från de senaste målen.
  • Redigering stöds i datamodellfönstret där du nu kan redigera värden.
  • Gjorde TTD-spårningar tydligare eftersom de är oindexerade.
  • Förbättrade prestandan för fönstret Lokaler.
  • En menyfliksknapp har lagts till för att spara kommandofönstrets loggar i en fil.
  • Har lagts . SelectMany(\<projection\>) till i standarduppsättningen med LINQ-metoder.

1.0.1807.11002

Den här versionen innehåller följande uppdateringar:

  • Automatisk sparande och inläsning av brytpunkter: Detta är det första steget för att ersätta arbetsytor. Nu kan du spara och läsa in brytpunkter. Om du startar något som du tidigare har felsökt från fliken SenasteArkivmenyn läses brytpunkterna från den sessionen in. Planen är att utöka den här funktionen för att bevara mer information mellan sessioner. Maskinvarubrytningspunkter (ba) och andra olika egenskaper för brytpunkter som tråd- och processspecifika kontexter och villkor sparas för närvarande inte.

Mindre ändringar och felkorrigeringar

  • Kommandoradsalternativen -x, -xe, -xd, -xnoch -xi för att styra hanteringen av undantag och händelser har lagts till. Dessa kommandoradsalternativ fungerar som deras kommandomotsvarigheter.
  • Stöd har lagts till i fönstret Anteckningar för fetstil, understrykning och kursiv formatering.
  • Vissa problem med zoomning och rullning har åtgärdats.
  • Det har lagts till stöd för att när du väljer text i fönstren Kommando, Minne, Källa eller Disassemblering markeras nu andra instanser av den valda texten.
  • Åtgärdade en bugg där avbrott i symbolinläsning orsakade att symbolinläsningen misslyckades för resten av sessionen.
  • En bugg har åtgärdats så att NatVis nu laddas om korrekt när en session startas om.

1.0.1805.17002

Den här versionen innehåller följande uppdateringar:

  • Nytt disassembly-fönster: Fönstret innehåller nu:

    • Rullning uppåt eller nedåt läser nu kontinuerligt in mer demontering när det är möjligt.
    • Markering används för att identifiera syntax för tal, kodadresser och åtgärdskoder.
    • Om du väljer en kodsymbol flyttas fönstret Disassembly till den platsen.
    • Om du hovrar över tal visas en knappbeskrivning som konverterar talet till andra baser.
    • Att använda rubriker innebär att en funktion startas.
  • Snabbare källfönster: Källfönstret uppdaterades för att bli snabbare och mer resurseffektivt.

Mindre ändringar och felkorrigeringar

  • Problem kring cachelagring av symboler har åtgärdats.
  • Vissa fall där det inte gick att växla inledande paus var inte användbart när målet inte bröts in.
  • Stöd har lagts till så att om du väljer en flik i kommandofönstret utan något tillgängligt, stannar markören nu kvar i indatafältet.
  • Stöd har lagts till så att WinDbg Preview nu automatiskt identifierar bitness när CAB-filer öppnas.

1.0.1804.18003

Den här versionen innehåller följande uppdateringar:

  • Förbättringar av symbolstatus och annullering: Det finns tillfällen då felsökningsprogrammet visar upptagna inläsningssymboler, och det är svårt att avgöra vad det gör och varför utan att ha !sym brus aktiverat. Vi har uppdaterat WinDbg Preview för att förbättra kommunikationen om vad programmet gör när det laddar symboler för att underlätta felsökning av eventuella problem.

    Förutom ändringar som gör att du kan se vad som händer har vi även gjort vissa ändringar som gör avbrytning av symboler mer tillförlitlig. Fönstret Loggar innehåller en del av informationen som normalt matas ut när !sym brus aktiveras. Om du väljer Visa>loggar får du utdata för den fullständiga brussymbolen utan att behöva aktivera den och försöka läsa in symbolerna igen.

  • Fönstret Experimentella anteckningar: WinDbg Preview har nu ett fönster för anteckningar. Välj Visa>anteckningar för att öppna den. Om du kopierar/klistrar in i den bevaras DML-länkar och fungerar fortfarande som om det vore kommandofönstret . Du kan också spara och läsa in anteckningsfiler från menyfliksområdet Anteckningar när fönstret är öppet.

  • Experimentellt snabbare källfönster: För att förbättra prestanda för WinDbg Preview är ett nytt experimentellt källfönster mer effektivt. Det finns några luckor kring snabbmenyer och syntaxmarkeringar, men vi vill ge alla möjlighet att prova det innan vi avslutar det för att ge oss tidig feedback. Kör $UseFastSourceWindow för att använda den. Om du vill gå tillbaka till den gamla kör du $UseMonacoSourceWindow. Inställningen bevaras mellan sessioner. Du måste stänga och öppna Källfönster igen för att hämta den nya versionen.

  • JSProvider API version 1.2: För JavaScript-tillägg som deklarerar stöd för API version 1.2:

    • Alla objekt med en .compareTo metod som avslutar skriptet har en anpassad jämförelse på sig. (Jämförelseoperatorer arbetar i DX-utvärderaren och på andra platser. Ett exempel är IModelObject::Compare.)
    • Alla objekt med en .equals metod som avslutar skriptet har en anpassad likhetsoperator på sig. (Operatorerna == och != arbetar i DX-utvärderaren och på andra platser. Ett exempel är IModelObject::IsEqualTo.)
    • Inbyggda eller datamodellobjekt som kommer in i skriptet har .compareTo och .equals kopplade till sig, vilket ger åtkomst till anpassade jämförelse- eller likhetsimplementeringar.

Mindre ändringar och felkorrigeringar

  • Stöd har lagts till så att .server nu visas ett fullständigt kvalificerat domännamn för enklare användning när det finns domänproblem kring korta namn.
  • Stöd har lagts till så att Ctrl+G nu fungerar i källfönstret .
  • Ett adressfält har lagts till i fönstret Disassembly .
  • WinDbg Preview har nu fått stöd för att hantera _NT_SYMBOL_PATH på ett mer förväntat sätt.
  • Ett nytt kommandoradsalternativ, -server, har lagts till.
  • Stöd har lagts till så att TTD-datamodellfrågor nu visas progressivt. Om du avbryter det ser du fortfarande några resultat. Den här funktionen är experimentell och valfri. Kör dx @$cursession.TTD.AsyncQueryEnabled = 1 för att aktivera den.
  • Stöd har lagts till så att dps kommandot nu har länkar till de källfiler som det refererar till.

1.1801.19001.0

Den här versionen innehåller följande uppdateringar:

  • Textmarkering: Nu kan du markera alla instanser av markerad text direkt i felsökningsprogrammet. Om du vill använda den här funktionen markerar du text i kommandofönstret och väljer sedan Markera i menyfliksområdet Kommando . Du kan också välja Ctrl+Alt+H. Om du använder något av dessa alternativ för text som redan är markerad tas markeringen bort.

Om du föredrar att använda kommandon kan du använda $hl kommandot:

$hl ["someValueHere"]: Markeringen ger text (eller tydlig markering om den redan är markerad). $hl clearAll: Rensa alla markerade poster. $hl caseSensitive [1|0]: Ange markeringars matchning som skiftlägeskänslig eller skiftlägesokänslig. (Standardvärdet är skiftlägesokänsligt.)

Den här versionen innehåller även några mindre felkorrigeringar.

1.1712.15003.0

Den här versionen innehåller följande uppdateringar:

  • TTD-minnesfrågor: Du kan nu fråga TTD om minnesåtkomster på ett liknande sätt som du frågar efter anrop i dag. Nu kan du hitta alla läsningar, skrivningar och exekveringar som får åtkomst till ett visst minnesintervall.

    • Läs- och skrivexempel: dx @$cursession.TTD.Memory(startAddress, endAddress, "rw")
    • Exempel på unik exekvering: dx @$cursession.TTD.Memory(startAddress, endAddress, "ec")
  • Inställningar ändras: WinDbg Preview sparar nu automatiskt inställningar mellan sessioner, inklusive din symbolsökväg och källsökväg.

JavaScript-förbättringar

  • 64-bitars tal och numeriska värden i JavaScript innehåller nu en modulo-metod som tillåter en sann 64-bitars moduloåtgärd.
  • Objekt som definierats i JavaScript kan nu implementera ett anpassat jämförbart eller rättvist begrepp. Den fungerar i dx genom att använda standard C++-operatorer eller i LINQ-operationer. Om du vill använda den här funktionen måste skriptet deklarera i matrisen initializeScript att det stöder en ny version av värd-API:et genom att infoga en post new host.apiVersionSupport(1, 2). Efteråt kan du använda dessa funktioner i valfri dx eller LINQ-fråga för datamodellfönster. Om metoden implementerar .compareTo(other)är den jämförbar (jämförelseoperatorer fungerar i dx och LINQ). Om metoden returnerar ett negativt värde, så this < other. Om metoden returnerar noll returnerar du this == other. Om metoden returnerar ett positivt värde, så this > other. Om metoden implementerar .equals(other)är den rättvis (== fungerar i dx och LINQ). Metoden måste returnera antingen sant eller falskt.

Mindre ändringar och felkorrigeringar

  • En bugg har åtgärdats där Fönstren Stack och Locals inte fungerade under startfelsökningen.
  • Uppdaterade utdata från LM för att mer exakt rapportera ProductVersion och liknande fält.
  • Aktiverade knappen Steg ut bakåt under TTD-sessioner.
  • Stöd har lagts till för -lsrcpath.
  • Rubrikerna i fönstren Locals, Watch och Model har åtgärdats så att de inte försvinner när du rullar nedåt.
  • Stöd har lagts till så att kommandofönstret bevarar markörens plats korrekt när du använder Alt+Tab för att gå tillbaka till WinDbg Preview.
  • Lade till genvägen Ctrl+Alt+V för att växla till utförligt läge.
  • Nu finns stöd för att du ska kunna inaktivera automatrullning av kommandofönstret genom att välja och hålla ned, eller högerklicka, på fliken Kommando och välja Inaktivera automatisk rullning.
  • Stöd har lagts till så att du nu kan felsöka underordnade processer via den avancerade sidan för körbara program.

1.0.14.0

Den här versionen innehåller följande uppdateringar:

  • Förbättrad processserverupplevelse: Ett nytt meddelande på arkivmenyn visar vilken processserver du är ansluten till och interagerar med. Som en del av dessa ändringar, när en felsökningssession avslutas, bevaras processserveranslutningen och du kan koppla från på Arkiv-menyn .
  • Nya förinställda layoutalternativ i menyfliksområdet Visa: Ett nytt layoutalternativ finns i menyfliksområdet Visa . Det finns för närvarande tre layouter: standardinställningen, en som fokuserar på demontering och en minimal.
  • Felsökningsmenyfliksområde för tidsresor: Ett förbättrat tidsresor-menyfliksområde visas när du felsöker en TTD-trace.
  • Metadata från JavaScript-skript: JavaScript-tillägg kan nu returnera metadata för egenskaper och andra konstruktioner. Tillägget kan nu tillhandahålla hjälpsträngar, indikera visningsradix för värden och mer. Metadata tillhandahålls genom att placera en metadatabeskrivning på ett objekt via antingen förekomsten av Symbol.metadataDescriptor eller ett explicit anrop till host.metadata.defineMetadata. Funktionsreturer, itererade värden och andra värdekontexter kan returnera metadata för deras värde via host.metadata.valueWithMetadata.
  • JavaScript API-uppdateringar: Vissa potentiellt icke-bakåtkompatibla ändringar på källnivå har gjorts i API:erna i JavaScript-providern (inklusive nya planerade metoder och egenskaper för interna objekt). Befintliga tillägg kommer inte att märka några av de ändringar som kan bryta kompatibiliteten om de inte anger att de stöder en ny version av JsProvider-API:et. Stöd för den nya API-versionen anges genom att placera en host.apiVersionSupport post i matrisen som returneras av initializeScript med ett anspråk på stödversion 1.1.

Ändringar i API-version 1.1

  • Funktionerna host.getModuleSymbol och host.getModuleType returnerar null om de inte kan hitta symbolen i stället för att utlösa ett undantag.
  • Alla interna objekt har adressegenskapen på sig utöver .targetLocation. Om objektet inte har någon adress utlöses ett undantag vid åtkomst till egenskapen.
  • Alla inbyggda objekt har nya .getObjectValue och .setObjectValue metoder för att komma åt egenskaper för objektet, vilket kan vara i konflikt med namn som JavaScript placerar på objektet (till exempel address).

Fler JavaScript-ändringar

  • JavaScript-tillägg kan nu lägga till och ta bort egenskaper för datamodellobjekt via Object.defineProperty och borttagningsoperatorn. Att lägga till eller registrera en JavaScript-klass som en överordnad modell eller typsignatur är fortfarande det bästa sättet att manipulera objektmodellen.
  • JavaScript-tillägg kan nu ändra globala variabler i moduler i felsökningsmålet via ett nytt host.setModuleSymbol API.
  • Alla matematiska funktioner som finns i 64-bitarsbibliotekstypen (till exempel .add, .subtract, .multiplyoch .divide) finns också på JavaScript-nummer.
  • JavaScript-funktioner och -egenskaper kan nu returnera värden som är enum-typer, genom anpassad marshaling. En funktions- eller egenskapsåtkomst kan returnera host.typeSystem.marshalAs(value, type…) för att framkalla sådan anpassad marskalkering.
  • Brytpunktskommandot i skriptfelsökaren kan nu brytas på funktionsnamn utöver rad-/kolumnpositioner.
  • Typobjekt i JavaScript-tillägg som har åtkomst till sin innehållande modul via egenskapen .containingModule.

Mindre ändringar och felkorrigeringar

  • Formatering av villkorsstyrda menyflikar har åtgärdats för att vara mindre förvirrande.
  • Omarbetad DML för att vara striktare i parsning för att förbättra prestanda.
  • Gjorde olika korrigeringar med prestanda och beteende för Ctrl +F.
  • Lade till en varning när den kördes utan relevans innan du försökte använda TTD.
  • Ett alternativ har lagts till för att överstyra automatisk identifiering av målbitarsantal.
  • Inaktiverade olika alternativ för Arkiv-menyn och menyfliksområdet när de inte kan användas (till exempel i en dumpfil).

Kända problem

SOS fungerar inte på x86-spårningar.

1.0.13.0

Den här versionen lägger till spårning av tidsresor. Med Time Travel Debugging kan du spela in en process och sedan spela upp den senare både framåt och bakåt. TTD kan hjälpa dig att felsöka problem enklare genom att låta dig "spola tillbaka" felsökningssessionen i stället för att behöva återskapa problemet tills du hittar felet. Mer information finns i Felsökning av tidsresor: Översikt.

1.0.12.0

Den här versionen var den första versionen av WinDbg Preview. Allmän information om de funktioner som är tillgängliga i WinDbg Preview finns i Viktiga funktioner i WinDbg.