Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
!tthar 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
.AlternateFunctionsegenskap 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
.AllowNugetExeUpdateför NuGet-baserade tilläggsgallerier. - En bugg har åtgärdats vid läsning av DWARFv5-symboler runt
.debug_namestabeller och namnindex. - Korrigerat instegsbeteende för källrader med flera stegfiltrerade anrop.
- En krasch som orsakades av en ogiltig
natvisversionssträng har åtgärdats. - Miljöblocköverföring har åtgärdats för
CreateProcessWfjärrfelsökning. - Korrigerade
!percpu- och!allpercpu-kommandon för CPU-pekare som har allokerats dynamiskt viaalloc_percpui 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
$OpenDmoToolwindowfö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.GetTypeInformationReturnerar 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.StepFiltersReturnerar listan med stegfilter som har egenskaperna
Id,Description,Type,PatternochIsEnabled. 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
0x0istä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
natvishar åtgärdats. Mer information finns i den ursprungliga felrapporten. - Felsökarens skräppost har åtgärdats
kdmed meddelandetError getting port connector information. Mer information finns i den ursprungliga felrapporten. - Ett problem med att
gcutlö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
- Uppdaterad till version 1.11.481.
- Mer information finns i viktig information om TTD.
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
- Uppdaterad till version 1.11.429.
- Mer information finns i viktig information om TTD.
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.
Utökningsbarhet för användargränssnittet via tilläggsgalleriet och datamodellen
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.
Undantagsparametrar har lagts till i undantagsutlösaren 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()
Nytt kommando för att visa SourceLink-information
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
!addresssom kan orsaka en krasch har åtgärdats. - Åtgärdade
!heap -a -aså 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
ForceMixedModeStackWalkerinställning har lagts till iconfig.xmlellerDbgX.xml. - Kommandot har lagts till
!forceclrmixedmodeunwindför enstaka undersökningar eller om du inte kan ändra konfigurationsinställningen.
- En
- Lade till möjligheten att framtvinga liggande CLR-ramar i blandat läge.
- Gjorde allmänna förbättringar av CLR-felsökning i Linux.
- Flera problem med
LinuxKernel.jsvariabler och per CPU har åtgärdats:-
!runqKommandot har lagts till förLinuxKernel.jsatt kunna dumpa körningsköerna per CPU-kernel (liknande i form av Linux-kraschverktygetsrunqkommando). - Olika kommandon har åtgärdats i
LinuxKernel.jsfö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 listanall_bdevsborta, så hanterar man nu blockenheter från superblocket i ställetblockdev_superblock.
-
- Gjorde olika
natviskorrigeringar för att fungera mer som de senaste versionerna av Visual Studio. - Prioriterad
sourcelinkjämfört med äldresourceinfo.- Har lagt till
!lmsourcesinfo <module>-kommandot för att visasourcelinkströmmar från PDB-filer (för att underlätta felsökning medsourcelink).
- Har lagt till
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
Regex-sökning
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
Smart val och sökning av nummer
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.
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.Environmentdx @$curthread.Environmentdx @$curthread.Stack
Exempel på 64-bitars värdtillstånd:
dx @$curprocess.NativeEnvironmentdx @$curthread.NativeEnvironmentdx @$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.
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.
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.
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.
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
dxutan 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 viadx-kommandot, JavaScript och den nyaDbgModel.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.
dxMed 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
sxeller 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
debugArchstartflagga 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-debugArchx86|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 Senaste på Arkivmenyn 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-xifö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
!symbrus 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
!symbrus 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
$UseFastSourceWindowfö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
.compareTometod 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 ärIModelObject::Compare.) - Alla objekt med en
.equalsmetod som avslutar skriptet har en anpassad likhetsoperator på sig. (Operatorerna==och!=arbetar i DX-utvärderaren och på andra platser. Ett exempel ärIModelObject::IsEqualTo.) - Inbyggda eller datamodellobjekt som kommer in i skriptet har
.compareTooch.equalskopplade till sig, vilket ger åtkomst till anpassade jämförelse- eller likhetsimplementeringar.
- Alla objekt med en
Mindre ändringar och felkorrigeringar
- Stöd har lagts till så att
.servernu 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_PATHpå 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 = 1för att aktivera den. - Stöd har lagts till så att
dpskommandot 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")
-
Läs- och skrivexempel:
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
dxgenom att använda standard C++-operatorer eller i LINQ-operationer. Om du vill använda den här funktionen måste skriptet deklarera i matriseninitializeScriptatt det stöder en ny version av värd-API:et genom att infoga en postnew host.apiVersionSupport(1, 2). Efteråt kan du använda dessa funktioner i valfridxeller LINQ-fråga för datamodellfönster. Om metoden implementerar.compareTo(other)är den jämförbar (jämförelseoperatorer fungerar idxoch LINQ). Om metoden returnerar ett negativt värde, såthis < other. Om metoden returnerar noll returnerar duthis == other. Om metoden returnerar ett positivt värde, såthis > other. Om metoden implementerar.equals(other)är den rättvis (==fungerar idxoch 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
ProductVersionoch 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.metadataDescriptoreller ett explicit anrop tillhost.metadata.defineMetadata. Funktionsreturer, itererade värden och andra värdekontexter kan returnera metadata för deras värde viahost.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.apiVersionSupportpost i matrisen som returneras avinitializeScriptmed ett anspråk på stödversion 1.1.
Ändringar i API-version 1.1
- Funktionerna
host.getModuleSymbolochhost.getModuleTypereturnerar 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
.getObjectValueoch.setObjectValuemetoder för att komma åt egenskaper för objektet, vilket kan vara i konflikt med namn som JavaScript placerar på objektet (till exempeladdress).
Fler JavaScript-ändringar
- JavaScript-tillägg kan nu lägga till och ta bort egenskaper för datamodellobjekt via
Object.definePropertyoch 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.setModuleSymbolAPI. - 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 Gå 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.