Skip to main content
CF

.NET Diagnostics Expert

27h 6m 48s
English
Paid

Have you ever encountered issues debugging applications in production? Or maybe spent hours trying to reproduce a bug on your local machine? We have, and we know how painful it is. Perhaps you've had to analyze a sudden "freeze" of the application without any logs? Familiar. Mysterious exceptions that occur only for a specific client? It happens. And then there’s profiling and identifying bottlenecks in performance.

Testing reveals the presence of errors but does not prove their absence. As long as we write code, there will be bugs. And it is we, the developers, who are responsible for finding and fixing them. Moreover, the problem is not always in our code - often the cause lies in the server configuration, the system, or something else.

Without mastering diagnostic tools and techniques, it is impossible to feel confident in the role of a .NET developer. That's why we created the online course .NET Diagnostics Expert - to provide you with this knowledge.

This is 11 intensive weeks of learning, where you'll get acquainted with powerful diagnostic tools through carefully prepared practical scenarios. We cover both Windows and Linux environments, working with .NET Framework and .NET Core - and go far beyond typical debugging.

Each module includes a homework assignment to reinforce the skills. Additionally, the course includes extra materials from guest mentors - recognized experts in diagnostics: Kevin Gosse, Christophe Nasarre, and Pavel Yosifovich.

Join us and become an expert in diagnosing .NET applications!

Additional

https://github.com/dotnetos/diagnosticsexpert-course

About the Author: Sebastian Solnica

Sebastian Solnica thumbnail

Sebastian Solnica is a Polish .NET engineer and one of the most authoritative independent voices on the production-diagnostics side of .NET work — particularly the use of WinDbg, ETW, and the lower-level diagnostic tooling that separates senior .NET engineers from generic .NET developers.

His CourseFlix listing carries .NET Diagnostics Expert — a comprehensive treatment of production .NET diagnostics: memory dump analysis, performance investigation, the diagnostic-tooling landscape, and the patterns for debugging .NET issues that don't reproduce locally.

Material is paid and aimed at senior .NET engineers responsible for production .NET applications. For broader content, see CourseFlix's C# category page.

Watch Online 51 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 51 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Course overview
All Course Lessons (51)
#Lesson TitleDurationAccess
1
Course overview Demo
05:34
2
How debuggers work
38:49
3
Symbols
43:44
4
Debugging in Visual Studio
41:46
5
Debugging in Visual Studio Code
07:27
6
Debugging in WinDbg and LLDB
01:04:56
7
CLI Diagnostic Tools for .NET
11:01
8
Homework
03:57
9
Event Tracing on Windows
45:25
10
Event Tracing on Linux
57:54
11
.NET Event Pipes
53:01
12
Homework
05:15
13
Process monitoring
23:03
14
Process and system tracing tools
45:17
15
Containerized processes
33:27
16
System logs
12:00
17
Homework
04:15
18
CPU sampling
41:54
19
Thread Time profiling
01:01:52
20
.NET Profiler
19:23
21
Homework
01:43
22
Synchronization primitives
20:25
23
Finding deadlocks in memory dumps
37:09
24
Finding deadlocks in traces
28:34
25
Homework
05:13
26
Monitoring TCP & UDP connections
16:06
27
Working with TCP & UDP network traces
52:09
28
Network trace providers in .NET applications
40:35
29
Homework
02:40
30
Troubleshooting DNS
44:43
31
Monitoring HTTP(S) requests in web applications
01:07:56
32
Using network proxies in diagnostics
37:41
33
Homework
06:51
34
Assembly loading issues
35:20
35
Exceptions
01:04:59
36
Production debugging
16:32
37
Homework
02:52
38
Memory issues
57:19
39
File I/O issues
38:29
40
Other system issues
32:20
41
Homework
02:14
42
Interacting with the debugger
41:48
43
Writing custom trace sources
34:33
44
Homework
02:07
45
Using ClrMD to inspect .NET applications
35:04
46
Working with .NET EventPipe traces
29:12
47
Homework
03:32
48
Congratulations
01:14
49
Christophe Nasarre - Webinar
01:49:15
50
Kevin Gosse - Webinar
01:12:25
51
Pavel Yosifovich - Webinar
01:05:48
Unlock unlimited learning

Get instant access to all 50 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Books

Read Book .NET Diagnostics Expert

#TitleTypeOpen
1M01L00CourseOverview PDF
2M01L01HowDebuggersWork PDF
3M01L02Symbols PDF
4M01L03DebuggingInVisualStudio PDF
5M01L04DebuggingInVisualStudioCode PDF
6M01L05DebuggingInWinDbgAndLLDB PDF
7M01L06CliDiagnosticToolsForNET PDF
8M01L07Homework PDF
9M01L07HomeworkSolutions PDF
10M02L01EventTracingOnWindows PDF
11M02L02TracingOnLinux PDF
12M02L03EventPipes PDF
13M02L04Homework PDF
14M02L04HomeworkSolutions PDF
15M03L01ProcessMonitoring PDF
16M03L02ProcessAndSystemTracingTools PDF
17M03L03ContainerizedProcesses PDF
18M03L04SystemLogs PDF
19M03L05Homework PDF
20M03L05HomeworkSolutions PDF
21M04L01CPUSampling PDF
22M04L02ThreadTimeProfiling PDF
23M04L03NETProfiler PDF
24M04L04Homework PDF
25M04L04HomeworkSolutions PDF
26M05L01SynchronizationPrimitives PDF
27M05L02FindingDeadlocksInMemoryDumps PDF
28M05L03FindingDeadlocksInTraces PDF
29M05L04Homework PDF
30M05L04HomeworkSolutions PDF
31M06L01MonitoringTCPUDP PDF
32M06L02WorkingWithNetworkTraces PDF
33M06L03NetworkTraceProvidersInNET PDF
34M06L04Homework PDF
35M07L01TroubleshootingDNS PDF
36M07L02MonitoringHTTPsRequests PDF
37M07L03UsingNetworkProxiesInDiagnostics PDF
38M07L04Homework PDF
39M07L04HomeworkSolutions PDF
40M08L01AssemblyLoadingIssues PDF
41M08L02Exceptions- PDF
42M08L03ProductionDebugging PDF
43M08L04Homework PDF
44M08L04HomeworkSolutions PDF
45M09L01MemoryIssues PDF
46M09L02FileIOissues PDF
47M09L03OtherIssues PDF
48M09L04Homework PDF
49M09L04HomeworkSolutions PDF
50M10L01InteractingWithTheDebugger PDF
51M10L02WritingCustomTraceSources PDF
52M10L03Homework PDF
53M10L03HomeworkSolutions PDF

Related courses

Frequently asked questions

What prerequisites should I have before taking this course?
Before enrolling in this course, you should have a basic understanding of .NET programming and familiarity with debugging concepts. Experience with tools like Visual Studio and basic command-line operations will be beneficial, as the course covers advanced debugging techniques and tools specific to .NET applications.
What projects or skills will I develop through this course?
Throughout the course, you will gain skills in debugging and profiling .NET applications. You will learn to work with various diagnostic tools, such as Visual Studio, WinDbg, and LLDB, and perform tasks like monitoring processes, analyzing system logs, and profiling CPU and thread performance. Additionally, you will tackle real-world issues like finding deadlocks, managing assembly loading issues, and troubleshooting network communications.
Who is the target audience for this course?
This course is designed for .NET developers and software engineers who encounter complex debugging and diagnostic challenges in their work. It is particularly suited for those who need to resolve production issues, analyze performance bottlenecks, and ensure application reliability across different environments.
How does this course compare in depth and scope to similar courses?
This course offers a specialized focus on .NET diagnostics, covering a wide range of tools and techniques for debugging and profiling. It differs from more general debugging courses by providing in-depth coverage of .NET-specific issues, such as Event Tracing, .NET Profiler, and using ClrMD to inspect applications, which might not be covered in broader programming courses.
What specific tools and platforms are covered in the course?
The course covers a variety of diagnostic tools and platforms, including Visual Studio, Visual Studio Code, WinDbg, and LLDB for debugging. It also explores command-line diagnostic tools for .NET, Event Tracing on Windows and Linux, and network trace providers. Additionally, tools like the .NET Profiler and ClrMD are discussed for profiling and inspecting applications.
What topics are not covered in this course?
The course does not delve into non-.NET specific debugging techniques or tools outside the scope of .NET applications. It focuses primarily on diagnostics within the .NET ecosystem, so topics such as front-end application debugging or non-Windows platform-specific diagnostics are not covered.
What is the expected time commitment for completing this course?
The course consists of 51 lessons with additional homework assignments, and while the exact runtime isn't specified, a typical learner might expect to dedicate several weeks to complete it, depending on their pace. Given the technical depth, allocating regular study time and practicing the techniques on personal projects could enhance understanding and skill development.