Giter Site home page Giter Site logo

leovo2708 / diagnostics-courses Goto Github PK

View Code? Open in Web Editor NEW

This project forked from selagroup/diagnostics-courses

0.0 1.0 0.0 45.29 MB

Materials for Sela's debugging and performance courses

License: GNU General Public License v2.0

C++ 24.76% C 10.26% C# 48.28% CSS 0.61% ASP 0.09% HTML 6.93% JavaScript 9.07%

diagnostics-courses's Introduction

About This Repository

This repository contains supporting materials for Sela's diagnostics courses. The instructor will direct you to specific labs as the course progresses. Before you start working on the labs, make sure to review the prerequisites document. It contains information on required software installations as well as some configuration steps you should perform on your system.

These materials are distributed under the GPL 2.0 license (see LICENSE).

Getting The Materials

You can use the Download ZIP button on the GitHub web interface to download a single .zip file with every file in this repository. Alternatively, you can clone the repository by using the GitHub for Windows desktop application, or by running the following command in a command prompt where you have access to the git.exe command-line tool:

git clone https://github.com/selagroup/diagnostics-courses.git

List of Labs

Note: For each lab below, [C++] indicates it's a lab that would mostly interest C++ developers; [C#] indicates that it's a lab that would mostly interest C# developers; and [kernel] indicates that it's a lab that would mostly interest driver developers. Labs not marked with either tag can be interesting for both audiences. In any case, if you are building a managed application that has some unmanaged components, you should consider working through all the labs.

  1. Analyzing I/O Activity with WPR and WPA
  2. Analyzing Unmanaged Heap Allocations with XPerf and WPA [C++]
  3. Diagnosing High CPU Utilization with PerfView
  4. Profiling CPU Work by Sampling with XPerf
  5. Profiling CPU Work by Sampling with VSPerfCmd
  6. Analyzing Startup Performance with PerfView
  7. Reducing .NET Allocations with PerfView [C#]
  8. Setting Up Continuous ETW Monitoring with PerfView
  9. Diagnosing a .NET Memory Leak with PerfView [C#]
  10. Inspecting GC Segments and Fragmentation with VMMap [C#]
  11. Collecting IntelliTrace Logs with the Stand-Alone Collector [C#]
  12. Generating Dump Files Automatically with WER
  13. Basic Dump Analysis with Visual Studio
  14. Dump File Memory Usage Analysis with Visual Studio [C#]
  15. Capturing Dump Files with DebugDiag
  16. Basic Managed Dump Triage with WinDbg [C#]
  17. Basic Unmanaged Dump Triage with Windbg [C++]
  18. Exploring WinDbg Commands [C++]
  19. Exploring SOS Commands [C#]
  20. .NET Memory Leak Analysis with WinDbg and SOS [C#]
  21. Advanced Memory Leak Analysis with SOS [C#]
  22. Analyzing a .NET Memory Leak with DebugDiag [C#]
  23. Locks and Wait Analysis with WinDbg and SOS [C#]
  24. Locks and Waits Analysis with WinDbg [C++]
  25. Catching an Unmanaged Heap Corruption [C++]
  26. Catching a VTable Corruption [C++]
  27. Analyzing Stack Corruptions [C++]
  28. Analyzing an Unmanaged Memory Leak with WinDbg and VMMap [C++]
  29. Diagnosing Handle Corruptions and Leaks
  30. Automatic Dump Analysis with CLRMD
  31. Implementing a Stack Dumper Utility with CLRMD [C#]
  32. Running Heap Queries on Live Processes with CLRMD [C#]
  33. Analyzing UI Delays with the Visual Studio Concurrency Visualizer
  34. Command-Line Performance Analysis with etrace
  35. Programmatic ETW Recording with TraceEvent [C#]
  36. Micro-Benchmarking with BenchmarkDotNet [C#]
  37. Viewing Top-Level GC Behavior with Performance Counters [C#]
  38. Profiling CPU Work by Sampling with dotTrace [C#]
  39. Analyzing Memory Traffic with dotMemory [C#]
  40. Analyzing a .NET Memory Leak with dotMemory [C#]
  41. Analyzing a .NET Memory Leak with SciTech Memory Profiler [C#]
  42. Structure Deserialization with Unsafe Code [C#]
  43. Measuring Cache Misses with PerfView

Copyright (C) Sela Group, 2007-2017. All rights reserved.

diagnostics-courses's People

Contributors

aviavni avatar goldshtn avatar idofl avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.