.NET DIAGNOSTIC
EXPERT

Master .NET troubleshooting with expert techniques and tools!

Course description

The ".NET Diagnostics Expert" course is an 11-week online educational program focused on diagnosing and troubleshooting .NET applications. The course provides guidance on using a wide array of diagnostic tools applicable in various scenarios on both Windows and Linux environments for .NET Framework and .NET Core. This program goes beyond basic debugging, already familiar to many, and includes complex techniques necessary for addressing specific issues such as unexpected application crashes, mysterious exceptions on client machines, or identifying performance bottlenecks.

Each course module includes practical assignments to practice the acquired knowledge. To deepen understanding, three experts in super-debugging—Kevin Gosse, Christophe Nasarre, and Pavel Yosifovich—have been invited as mentors for the course. Participants will also have access to additional materials provided by these mentors.

About agenda

What you'll get?

Access to 11-weeks .NET Diagnostics Expert on-line course - Access to full .NET Diagnostics course material

Content from mentors - Extra content sessions with international Mentors of that program, who are world-class .NET diagnostics experts. Sessions are recorded and shared with you on the platform.

Access to the course platform - The access to the platform that not only keeps recordings, but also allows you to discuss and contact with instructor and other participants of that course.

Access to the repository - Besides the access to the recordings, ability to contact others and watch extra content from Mentors of the programme you receive the access to repository that includes code examples.

KickStart -20%

€343

€429

Lifetime access

LEVEL:

ADVANCED

TIME

27h 1min

Lessons:

48

Language:

ENGLISH

Attendees:

321

Rating:

4.9
Buy now

Course

Authors

Sebastian

Solnica

.NET Developer & DevOps Engineer | Microsoft MVP
About author

Course Agenda

48 lessons 1626 minutes 607 slides

1.Debugging

  • The construction of the managed/native debugger
  • Symbols, indexing, building your own symbol server
  • Making Nuget packages easier to debug (SourceLink)
  • Configuring the debugger in Visual Studio and Visual Studio Code
  • WinDbg and lldb with SOS - .NET debugging extension
  • CLI Diagnostic Tools for .NET
  • Homework

2.Tracing

  • Event Tracing for Windows (ETW): how it works, interesting system and .NET event sources, how to collect the events
  • perf, LTTng and eBPF for Linux: how it works, how to collect the events
  • Event Pipes - modern .NET tracing: how they work, how to collect the events
  • Homework

3.Windows and Linux diagnostics sources

  • Process monitoring (Process Hacker/Process Explorer, top/htop, proc-fs)
  • Process and system tracing tools (Process Monitor, strace)
  • Monitoring containerized processes (Docker)
  • Examining system logs
  • Homework

4..NET diagnostics case - High CPU usage

  • How CPU sampling works, analyzing traces under Windows and Linux
  • Thread Time profiling: context switches and thread scheduling/dispatching
  • Homework

5..NET diagnostics case - Deadlocks

  • Synchronization primitives: Mutex, Semaphore, WaitEvents, Monitor, SpinWait
  • Looking for a deadlock in a memory dump
  • Diagnosing deadlocks with tracing
  • Homework

6..NET diagnostics case - Network issues - TCP, UDP

  • Monitoring connections with system tools (netstat, TcpView, ss)
  • Basic diagnosing with PsPing and NC
  • Recording network traces (Wireshark, tcpdump)
  • Analyzing network traces in Wireshark
  • Collecting network traces in .NET applications
  • Homework

7..NET diagnostics case - Network issues - DNS, HTTP(s)

  • Diagnosing DNS configuration (host, nslookup, dig)
  • Monitoring HTTP requests in ASP.NET/ASP.NET Core applications
  • Using network proxies and writing our own network proxy
  • Detecting problems with TLS certificates
  • Creating a load-balancer (reverse-proxy) for testing purposes
  • Homework

8..NET diagnostics case - Application execution issues

  • Monitoring applications with dotnet-counters
  • Diagnosing assembly binding issues
  • Diagnosing exceptions using tracing and memory dumps
  • Cases of debugging in the production
  • Homework

9..NET diagnostics case - Miscellaneous issues

  • Memory issues (VMMap, PerfView)
  • File I/O issues
  • System issues: drivers, Windows registry, COM, services/daemons
  • Homework

10.Diagnostics logs in the application

  • Interacting with the debugger (Debug class)
  • Validating the code execution (Code Contracts, assertions)
  • Adding custom trace sources to the application
  • Homework

11.Writing custom diagnostics tool

  • Using ClrMD to analyze memory dumps
  • Writing a custom tracer based on EventPipe
  • Homework

Course

Mentors

Kevin

Gosse

Solutions Architect | Microsoft MVP

Christophe

Nasarre

Author of Concurrency in C# Cookbook | Microsoft MVP

Pavel

yosifovich

Software developer at Microsoft | Microsoft MVP
About Mentors

Questions & Answers

Which programming language will be used in examples?

All the examples as well as all our work will be done in C#.

Which version of .NET will be used in samples?

We will work on .NET Core 3.1/.NET 5, showing differences with .NET Framework when needed.

When does the course begin and for how long does it last?

The course is now available and the sale is unlimited in time.

What is the format of that course?

It is a video course. Recordings are uploaded to the platform. After signing in with your login and password, you have access to your account. Besides the recordings, you’ll also receive an invitation to our Community where you can communicate with an instructor and other participants. All accesses will be sent to you after the purchase.

How long will I have the access to the course?

You will receive life-long access to that edition of the course, including its updates.

What if I would not be satisfied with the course?

If you watch less than 30% of the course and decide that the course is not for you, you will receive a refund. You have 30 days to decide. Just write to contact[at]dotnetos.org, and we will return you 100% value.

Will I receive all the course material at once?

Yes. All material is available immediately. We recommend watching one module per week to not overwhelm you.

Will I receive an invoice?

Yes, you will receive a VAT invoice with your purchase, if it applies. It will be sent to you within few days to the e-mail address provided during the order.

How can I pay for that course?

Payment is done with the use of our on-line shop. Each type of payment supported by it is ok for us.

Can I pay later, on installments, etc.?

Unfortunatelly, no.

How many people can access one course account?

The access is given to one person, using an address provided during the purchase. If you are interested in buying more accesses please contact us using contact[at]dotnetos.org e-mail address.

What if I have a problem with something or something is unclear?

Write to us with that e-mail address: info@updateconference.net

Didn't find the answer you were looking for?
Don't hesitate to contact us at info@updateconference.net
KickStart -20%

€343

€429

Lifetime access

LEVEL:

ADVANCED

TIME

27h 1min

Lessons:

48

Language:

ENGLISH

Attendees:

321

Rating:

4.9
Buy now

Continue exploring

Dive into our wide range of courses and let our experts guide you in enhancing your technical skills and advancing your career to the next level.

28 h 4 min
online

Async Expert

From the async basics to sync and concurrency collections. 10 weeks of learning course that is trusted from more than 750 attendees. Understand the async-await technique...

Discover more
27 h 1 min
online

.NET Diagnostic Expert

Unlock the secrets of .NET diagnostics with our expert-led online course. Over 11 intensive weeks, you'll master a wide range of powerful tools to optimize performance…

Discover more
8 h 5 min
online

C# 9.0 Professional

Take command of C# 9.0 with our expert-led 9-week online course. Get hands-on with the newest features and sharpen your skills to tackle real-world challenges. Elevate your coding game…

Discover more
42 h
online

.NET Memory Expert

Master tools like PerfView and learn to optimize performance like a pro. Don't just manage memory—command it. Enroll now and level up your .NET skills!...

Discover more
2 h 40 min
online

Synchronization Expert

Transform your coding skills with our online course. Master synchronization techniques through practical demos. Enroll today and start your path to success!...

Discover more
28 h 4 min
online

Async Expert

From the async basics to sync and concurrency collections. 10 weeks of learning course that is trusted from more than 750 attendees. Understand the async-await technique...

Discover more
27 h 1 min
online

.NET Diagnostic Expert

Unlock the secrets of .NET diagnostics with our expert-led online course. Over 11 intensive weeks, you'll master a wide range of powerful tools to optimize performance…

Discover more
8 h 5 min
online

C# 9.0 Professional

Take command of C# 9.0 with our expert-led 9-week online course. Get hands-on with the newest features and sharpen your skills to tackle real-world challenges. Elevate your coding game…

Discover more
42 h
online

.NET Memory Expert

Master tools like PerfView and learn to optimize performance like a pro. Don't just manage memory—command it. Enroll now and level up your .NET skills!...

Discover more
2 h 40 min
online

Synchronization Expert

Transform your coding skills with our online course. Master synchronization techniques through practical demos. Enroll today and start your path to success!...

Discover more