Defrag Tools (HD) - Channel 9

Defrag Tools (HD) - Channel 9

By MicrosoftTechnology
Download on the App Store

Defrag Tools (HD) - Channel 9 episodes

  • Defrag Tools #172 - Application Hangs
    In this episode of Defrag Tools, Andrew Richards and Chad Beeder talk about Application Hangs. We collect a dump of a process and debug it with the Debugging Tools for Windows. Resources:Defrag Tools: #24 - WinDbg - Critical SectionsDefrag Tools: #25 - WinDbg - EventsDefrag Tools: #26 - WinDbg - Semaphores, Mutexes and Timers Timeline:[00:00] Happy New Year![01:20] Tools for Application Hang analysis[02:36] Analyze Wait Chain in Task Manager[04:36] Sysinternals ProcDump[07:00] Thread List: ~[07:34] Call Stack of each thread: ~*k[08:28] Unique Call Stacks (filtering): !uniqstack[11:26] Call Stacks (with N+ frames): !pde.deep [N][12:40] Call Stacks (with N+ frames) not on a wait: !pde.busy [N][15:20] Demo Apps and PDE are on the Defrag Tools OneDrive[17:45] View Critical Section Locking: !locks[21:48] Conclusion Email us your questions and comments to [email protected]
    24 min
  • Defrag Tools #171 - Application Insights Profiler
    In this episode of Defrag Tools, Andrew Richards and Chad Beeder talk to Dan Taylor and Chuck Weininger about Application Insights Profiler. The profiler allows you to get detailed performace data from Azure App Services. How to - https://aka.ms/aiprofilerpreviewEmail - [email protected]: [00:00] Introductions[01:10] Forza Horizon 3 Awesomeness in Australia[03:55] Application Insights Profiler Introduction[05:00] How the profiler collects data[06:48] Enabling Application Insights Profiler for an Azure App Service[08:48] View example traces using the Music Store app[10:53] Understanding the call stack shown in the detailed trace window[14:15] What are common performance bugs?[15:10] Does disk contention get shown?[16:12] How do I start using Application Insights Profiler[17:20] Conclusion
    19 min
  • Defrag Tools #170 - Debugger - JavaScript Scripting
    In this episode of Defrag Tools, Andrew Richards talks to Andy Luhrs and Bill Messmer from the Debugging Tools for Windows team. We talk about the new JavaScript extensibility and scripting abilities in WinDbg available in the WDK and SDK build 14951 and newer. Blog - https://blogs.msdn.microsoft.com/windbg/Email - [email protected] Bill leveraged the debugger object model previously in these episodes: Defrag Tools #138 - Debugging - 'dx' Command Part 1Defrag Tools #139 - Debugging - 'dx' Command Part 2Defrag Tools #169 - Debugging Tools for Windows TeamTimeline: [00:00] Welcome and introductions[00:24] New SDK drop[00:29] Why JavaScript[02:07] New commands[03:50] Visual Studio Code[04:00] Example - Hello World[07:15] Debugger default namespaces[09:07] Example - Print all threads[10:26] Example - Conditional breakpoint[18:13] 'g' vs. 'gc' – Andrew was right! 'gc' resumes execution in the same way that it started. So if you hit 'p' and then hit a conditional breakpoint that has 'gc' in it, the 'gc' will just finish your initial 'p'.[20:40] Example - Unique stacks[34:40] Example - Addition Questions/Comments? Email us at [email protected] JavaScript MSDN Docs: JavaScript Debugger ScriptingJavaScript Debugger Example ScriptsNative Debugger Objects in JavaScript Extensions Unique Stacks Example (the right one):
    "use strict";
    class __stackEntry
    {
    constructor(frameString) {
    this.threads = [];
    this.frameString = frameString;
    this.children = new Map();
    }
    display(indent)
    {
    for (var child of this.children.values())
    {
    host.diagnostics.debugLog(indent, child.frameString, " [Threads In Branch: ");
    for (var thread of child.threads)
    {
    host.diagnostics.debugLog(thread.Id, " ");
    }
    host.diagnostics.debugLog("]\n");
    child.display(indent + " ");
    37 min
  • Defrag Tools #169 - Debugging Tools for Windows Team
    In this episode of Defrag Tools, Andrew Richards talks to Andy Luhrs and Bill Messmer from the Debugging Tools for Windows team. We talk about what the team develops, what it is working on, the debugger object model, their blog and their feedback email address. Blog - https://blogs.msdn.microsoft.com/windbg/Email - [email protected] leveraged the debugger object model previously in these episodes: Defrag Tools #138 - Debugging - 'dx' Command Part 1Defrag Tools #139 - Debugging - 'dx' Command Part 2Timeline: [00:00] Welcome and introductions[01:20] What application's are in the Debugging Tools for Windows?[01:57] Kernel Transports - COM, USB, 1394/Firewire, Network[02:34] Symbol Tools - Defrag Tools: #88 - Symbol Folder Hierarchy - index2.txt[03:15] Current focus is on usability[05:06] Debugger Object Model[06:20] NatVis support [05:06] Feedback - [email protected][05:06] Blog - https://blogs.msdn.microsoft.com/windbg/[05:06] 1394 Kernel Debugging is now in the SDK, not inbox[09:19] Enabling Postmortem Debugging[12:28] Next week - JavaScript scripting support Questions/Comments? Email us at [email protected]
    17 min
  • Defrag Tools #168 - Powercfg Sleep Study
    In this episode of Defrag Tools, Andrew Richards and Chad Beeder talk to Nashaat Soliman and Paresh Maisuria (program manager and developer from the Windows kernel power team) about the "Sleep Study" feature in the Powercfg tool, and how you can use it to diagnose battery drain issues on Modern Standby systems. For related content on power management and analysis using Powercfg, refer to the following earlier episodes: Defrag Tools #157 - Energy Estimation Engine (E3)Defrag Tools #159 - PowercfgFor additional details on Sleep Study, see this blog post: Sleep Study: Diagnose what's draining your battery while the system sleepsTimeline: [00:00] Welcome and introductions[02:55] Powercfg Sleepstudy requires a system capable of Modern Standby. What is this compared to traditional standby?[07:03] You can specify a report duration (up to the last 28 days) and look at the resulting report file[08:57] %Low Power State Time columns indicate how much the system was in the lowest power state during each standby session[10:13] Click on a table row for details, including a chart of how often the system was woken up to do work[15:38] Top Offenders list of who woke up the system[17:15] Nashaat's system is an engineering sample which includes a special Energy Meter chip to enable more accurate power usage data (Jorge Novillo mentioned this in Episode #157 as well). Useful in debugging preproduction hardware.[18:46] Example 1: TV capture device keeps the system from entering standby[21:01] The list of devices we monitor, which are expected to be powered down during standby, is in a firmware table provided by the system manufacturer. We can see these in the report.[25:44] Example 2: Standby settings configured incorrectly on the system. The Sleep Study report shows idle standby was disabled.[29:29] Example 3: A particular desktop app which prevents us from entering standby for 5 minutes[32:09] Pros and cons of Sleep Study vs. manual analysis via Windows Performance Toolkit Q
    36 min
  • Defrag Tools #167 - Debugging User Mode Crash Dumps Redux
    In this episode of Defrag Tools, Andrew Richards and Chad Beeder use Debugging Tools for Windows (WinDbg) to determine the root cause of various application crashes which have occurred on Andrew's computer. We use Sysinternals ProcDump to capture the dumps. While debugging, we take a side trip into configuring colors for Compressed and Encrypted files in Windows Explorer, and use Sysinternals Process Monitor to determine why the debugger was getting an Access Denied when loading the PDE Debugger Extension. We did a similar investigation in these two episodes: Defrag Tools #135 - Debugging User Mode Crash Dumps Part 1Defrag Tools #136 - Debugging User Mode Crash Dumps Part 2We cover how to install the Debugging Tools for Windows in this episode: Defrag Tools #131 - Windows 10 SDKGet the Sysinternals tools from http://www.sysinternals.com. We use: Sysinternals ProcDumpSysinternals Process MonitorGet the PDE debugger extension from the Defrag Tools OneDrive Get your Symbol Path to the Microsoft Public Symbol Server: Via Environment Variablesetx /m _NT_SYMBOL_PATH SRV*C:\My\Sym*https://msdl.microsoft.com/download/symbolsIn the Debugger.sympath SRV*C:\My\Sym*https://msdl.microsoft.com/download/symbolsTo collect dumps of crashes on your own machine, install ProcDump as the Postmortem (AeDebugger) debugger: md c:\dumps procdump.exe -ma -i c:\dumps On any dump (user or kernel), you can run automated analysis to view the issue: !analyze -v Debugging Cheat Sheet c0000005 is an Access Violation - use .ecxr & kc000027b is a Stowed Exception (Store Apps) - use !pde.dsee0434352 is a CLR Exception - use !sos.pee0697282 is a C++ Exception - use .ecxr & k80000003 is a Breakpoint - use !analyze -vWhen typing a decimal number, prefix it "0n"When typing a hexadecimal number, prefix it "0x" (the default prefix)Common Debugger Commands .exr -1 View the Exception Code and the Exception ParametersNumber looking like C0xxxxxx and 80xxxxxx are
    57 min
  • Defrag Tools #166 - Performance Analysis of UWP Apps
    In this episode of Defrag Tools, Sylvain Goyette joins Chad Beeder to discuss performance tracing of Universal Windows Platform (UWP) apps. (Sorry that Sylvain's screen is somewhat hard to read; we had some technical issues with the screen capture session.) Resources:Assessment and Deployment Kit (ADK) including the Windows Performance ToolkitRelated Videos (from Build events):Data Binding: Boost Your Apps' Performance Through New Enhancements to XAML Data BindingXAML Performance: Techniques for Maximizing Universal Windows App Experiences Built with XAMLHow to Analyze Performance Issues in Your Windows and Windows Phone AppsQuality and Performance for XAML AppsApp Performance: The Mental Model for Interacting with the PlatformApp Performance: The Windows Performance ToolkitApp Performance: From UX to API for 5 Key ScenariosApp Performance: Planning Costs Less Than Rearchitecting Timeline:[00:00] Welcome and introductions[02:15] Different providers to enable in Windows Performance Recorder, depending on whether the app is XAML or HTML[03:08] In Windows 10, you can also do tracing using "wpr" command line tool (ships in-box).[05:15] Example: Tracing the in-box Weather app (XAML app)[08:47] Load the pre-configured WPA profile to get a good set of default analysis views[11:20] Looking at the Dwm Frame Rate and GPU Utilization[14:54] On the Frame Analysis tab, we can look at individual frames which are rendered (or late) and look at the CPU Usage (Attributed) graph to see what the CPU was doing at that time[20:57] Using an ADK assessment ("Windows Store apps performance") to measure the launch time of UWP apps[24:56] Looking at the results of the Windows Store apps performance test[27:07] Open an individual trace (Sports app launch) and see what took up time during launch[31:50] Questions/comments? Email us at [email protected]
    33 min
  • Defrag Tools #165 - Performance Tracing in OOBE
    In this episode of Defrag Tools, Sylvain Goyette joins Chad Beeder to talk about how to collect performance traces during Windows OOBE (Out of Box Experience). (Sorry that Sylvain's screen is somewhat hard to read; we had some technical issues with the screen capture session.) Resources and related episodes:Defrag Tools #154 - Memory Footprint and LeaksDefrag Tools #155 - Boot PerformanceDefrag Tools #156 - Critical Path Analysis with Windows Performance AnalyzerAssessment and Deployment Kit (ADK) Timeline:[00:00] Welcome and introductions[02:46] How to enable performance tracing during OOBE? Use autologgers (ETW tracing which starts automatically on boot).[05:59] From the ADK's Windows Assessment Console, package the Out of Box Experience Performance test as a standalone package. Then use the appropriate subfolder from the "Windows Core Assessments" folder[06:47] Use either the "add_autologger.reg" or "add_autologger_timing.reg" depending on how much detail you need[07:40] If you need to customize the trace by adding additional ETW providers: Use xperf to get the desired reg keys in place and regedit to see what they are. Then modify the .reg file.[12:32] In some cases you might also remove providers if the default tracing is too heavy for a low-end system[13:06] Copy the platform folder (i.e. amd64) to a USB key and put it on the machine you want to trace. Boot it into OOBE.[14:29] In OOBE, press Shift+F10 to get a command console. Copy the test package onto the system, inject the .reg file, then reboot the system using "shutdown /r /t 0" to collect the trace starting from boot.[16:55] Go through OOBE[18:35] Use the "stop_autologger.cmd" command to stop the tracing when you want.[19:35] Go back to the ADK and look at the trace results.[25:03] Email us at [email protected]
    26 min
  • Defrag Tools #164 - Sysinternals for Nano Server - Mark Russinovich
    In this episode of Defrag Tools, Mark Russinovich and Andrew Mason (Program Manager for Nano Server) join Andrew Richards to discuss the release of the Sysinternals tools for Windows Server - Nano Server. Over 40 of the Sysinternals tools have been updated to support the headless execution on Nano Server via a remote shell (e.g. PowerShell, PsExec, SSH). You can download the full set by clicking on the Sysinternals Nano Server Suite on the Sysinternals suite page, and each tool that supports Nano Server reports that on its download page. The Nano versions are also compatible with 64-bit Windows and have "64.exe" as their suffix in the download files. Many of the updated tools include bug fixes as well.
    20 min
  • Defrag Tools #163 - Virtual Hard Disk (VHD) - Sysinternals Disk2VHD
    In this episode of Defrag Tools, Chad Beeder and Andrew Richards discuss Virtual Hard Disk (VHD) files. We first dive into what a VHD is, how you can boot from a VHD by configuring bcdedit settings, and we see how they look in Disk Management. We then use Sysinternals Disk2VHD - a quick and easy way to make a VHD from a Physical drive. We also discuss the Volume Shadow Copy Service. Additional Resources:Sysinternals Disk2VHDScott Hanselmen - Guide to Installing and Booting off a VHD Timeline:[00:00] Building 20 and the Channel 9 Studio[02:12] bcdedit - Booting from partition (physical disk) - osdevice|device: partition=C:[04:37] "Choose an operating system" - Physical and Virtual boot devices[06:48] VHD files - *.vhd and *.vhdx[07:45] Fixed Size and Dynamic Size (file grows to the specified size with use)[09:27] Disk Management - diskmgmt.msc or Win-X-K[10:35] bcdedit - Booting from virtual hard disk - osdevice|device: vhd=[D:]\vhd\win10.vhd[11:55] Larry Larsen visits (briefly)![12:45] Windows 10 lets you open the VHD; mounts to the next drive letter. Use Eject to dismount.[13:37] Disk Management - look like a normal drive (note the different icon)[14:37] How to install Windows to a VHD - Scott Hanselmen blog[15:13] Windows USB/DVD Download Tool[16:18] Use diskpart or Disk Management to make the VHD file[16:55] Use diskpart to attach (mount) the VHD file during Setup[17:55] Why the Boot from VHD approach?[19:50] Downloading Sysinternals Disk2VHD[19:50] VHD downside - if they don't get booted often, you need to apply lots of update[19:50] Windows 7 and 8.1 Convenience Rollups[23:18] Running Sysinternals Disk2VHD[25:13] Volume Shadow Copy Service[28:12] (Andrew: Can't find the article I wrote on bcdedit settings - sorry)[28:41] Windows XP Mode in Windows 7 -- was just a VHD running virtually[30:47] Questions? Email us at [email protected]
    32 min

About Defrag Tools (HD) - Channel 9

From the publisher's feed

Andrew Richards, Chad Beeder and Gov Maharaj host this deep dive into the tools used to troubleshoot systems. Each Defrag Tools show focuses on a specific tool, going deep into its features,…