Debugging Asynchronous Scenarios in .NET

Speakers: Christophe Nasarre, Kevin Gosse

Level: 400

Times have changed. Multi-core CPUs have become the norm and multi-threading has been replaced by asynchronous programming. You think you know everything about async/await… until something goes wrong. While debugging synchronous code can be straightforward, investigating an asynchronous deadlock or race condition proves to be surprisingly tricky. In this talk, follow us through real-life examples and investigations to cover the main asynchronous code patterns that can go wrong. You will tumble on deadlock and understand the reasons behind ThreadPool thread starvation. In addition to WinDBG magic to follow async/await chains, Visual Studio goodies won’t be forgotten to quickly analyze hundreds of call stacks or tasks status.

Internals of Exceptions

Speaker: Adam Furmanek

Level: 400

You know how to throw and catch exception. But do you know how are they implemented internally? Do you know what is SEH, VEH and VCH in Windows? Or do you know why C# introduced exceptions filters or how to catch everything, even StackOverflowException? In this presentation I show internal mechanisms used by Windows for handling exceptions. We will see constructs used by C++ and C# languages, CLR instructions and machine code details of those. There will be some live debugging and low to high level code.

Quantum Computing With Microsoft Q#

Speaker: Johnny Hooyberghs

Level: 400

You’ve probably heard of Quantum Computing, but it still remains a mistery? In this deep dive session we will explain important concepts like qbits, superposition and entanglement. Theoretical knowledge about quantum physics, quantum gates and quantum algorithms will be associated with practical examles using a real quantum computer on the IBM Q Experience and simulated with Microsoft Q# and Visual Studio.

Spying on .NET with EventPipes and ETW

Speaker: Christophe Nasarre

Level: 400

Come and learn how to listen to events sent by the CLR at runtime both in .NET Framework and .NET Core.
Use this to build your own monitoring system: this is mandatory with .NET Core since Performance Counters are gone!

In addition to the high level view of the architecture, you will dig into the details of important events and find how to collect key indicators of threading or memory issues for your applications.

Last but not least, you will see how to use the new dotnet-trace tools and Perfview to lead your own investigations.

Writing Fast Code Using .NET Core 3.0 Hardware Intrinsics

Speaker: Martin Ullrich

Level: 400

.NET Core 3.0 now gives you access to the raw power of modern CPUs and allows you to supercharge compute-intensive code that you couldn’t really optimize any further without using intrinsic functions provided by C/C++ compilers or even writing CPU-specific Assembler code. This session explains how code can be vectorized and optimized for modern processors using new vector types and special classes providing access to AVX, SSE and more CPU instruction sets and shows you how to progressively take advantage of these processor features when available on target machines.

Copyright 2018 .NET DeveloperDays All rights reserved

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close