Advanced Debugging Stories.NET Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT,

Slides:



Advertisements
Podobné prezentace
Mainstream Technologies, s.r.o.
Advertisements

Ladění aplikací v Caché Štefan Havlíček. Agenda Jednoduchá ukázka Jednoduchá ukázka Anatomie kódu Caché Anatomie kódu Caché Ladící prostředky Studia Ladící.
Kompozitní aplikace (Office Business Applications) Michael Juřek, Software Architect Tomáš Kutěj, TSP – Office Platform Microsoft s.r.o.
Úroveň automatizace Velikost organizace a znalosti Lite-Touch, High-Volume Deployment Zero-Touch, High-Volume Deployment High-Touch.
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
PB &.Net assembly PB & Web Service & DW (PowerBuilder za hranicemi PowerBuilderu) Martin Čeřovský.

Dodržujeme webové standardy Štěpán Bechynský Developer Evangelist Microsoft
Top Hotel Praha 7. – Twitter hashtag: #cztechdays.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
Windows Presentation Foundation
P ROVISIONING Provisioning system Provisioning je služba, která slouží k automatickému nastavení veškerých konfiguračních.
Richard Lipka Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia, Pilsen, Czech Republic.
SERVICESSERVER CLIENT Operating System Relational Database Application ServicesSystems Management Developer Tools Programming Model Applications.
Internet Explorer 8 Štěpán Bechynský Developer Evangelist Microsoft s.r.o.
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
Miloš Sobotka Systems Engineer Microsoft s.r.o.. Microsoft a BI Excel 2007 jako klient SSAS Translations v SSAS Implementace ve Visual Studiu Konzumace.
Zabezpečení a správa pracovních stanic, virtualizace Jan Písařík – chief of technical support.
FUN WITH C# EPISODE XIII INTERFACES STRIKE BACK CLI Type System All types Reference types (allocated on managed heap) PointersValue types (allocated.
Miroslav Holec Software Developer & Consultant Monitoring a diagnostika aplikací s Application Insights 2015.
Accelerating Your Success TM IBM Tivoli NEWS Petr Klabeneš
Now … Let’s Talk About … WORKFLOW 2013 V PRAXI Mainstream Technologies, s.r.o. ONDŘEJ SOUKUP.
GRASS GIS GRASS GIS Nejlepší svobodný software pro GIS Nejlepší svobodný software pro GIS Další informace: Domovská stránka:
Miroslav Holec Software Developer & Consultant ReSharper jak ho neznáte 2015.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Prostředí internetu Číslo DUM: III/2/VT/2/2/27 Vzdělávací předmět: Výpočetní technika Tematická oblast:
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Josef Ledvoň. Dostupné z Metodického portálu ISSN: , financovaného.
2OP484 Manažerská informatika 4Office doplňkySnímek 1 2OP484 Manažerská informatika 4 Office 365 Co nebylo ve skriptech
NSWI152 - Vývoj cloudových aplikací Filip Zavoral Tomáš Herceg ~ Mario Kamburov ~ Jiří Vinárek
Základy veřejné politiky Kombinované studium Website kursu: Garant kursu a přednášející:
MĚŘENÍ DÉLKY /praktické činnosti/ Autor: Mgr. Ivana Tesařová Datum:
.NET framework platforma Jiří Pokorný
BI-Exercise/Project Topics October 2016 TUL Ing. Athanasios Podaras, Ph.D.
Postup modelování Kateřina Růžičková. Postup modelování Rozhodnutí modelovat Definice problému Existence modelu, pro daný problém Identifikace modelu.
Přednáška pro předmět Operační systémy II ÚI PEF MENDELU
ABSTRAKT BP se zaměřuje na získávání a výběr, na dva z důležitých personálních procesů. V teoretické části jsou na základě odborné literatury uvedeny kroky.
Oxford WordSmith Tools 4.0
? Quo vadis, J Ondře anáček dotnetportal.cz/blogy
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Vysoká škola technická a ekonomická
Team Foundation Server 2015
Systémové databáze v SQL Serveru
COM – Práce s objektovým modelem jiné aplikace
JavaFX Tools Michal Škvor Software Developer SUN Microsystems 1.
Překladače 9. Generování cílového kódu
Marketingový plán společnosti
Zkušenosti s nasazením J2EE aplikací na AS GlassFish
Marketingový plán společnosti
Základní zadání POPR Úlohy budou vypracované v jediném XLSX souboru.
Autor: Mgr. Jaroslav Korb Datum vytvoření: květen 2011 Ročník: 8.
RUBY.
Targetting .NET projektů
Javascriptový framework VueJS
Počítačové klávesnice
Jak načítat externí data na SQL Server
Úvod do SQL Server Integration Services
Nové scénáře a ArcGIS Enterprise
Power BI Import dat, živé připojení a kompozitní modely
CNC - programování v ŘS Heidenhain iTNC 530
Základní zadání POPR Úlohy budou vypracované v jediném XLSX souboru.
Power BI – Příprava dat Jiří Neoral
Race Car Design Project SOLIDWORKS 2018
Trendy v unit testování a mockování
Praktická cvičení Úvodní hodina David Malý kabinet 205.
prezentace informačního systému
Využití strojového učení na SQL Serveru 2016/2017
Bridge.
Digitální učební materiál
SQL Server 2017: Automatic tuning
Azure DevOps Terraform QA FTW
Desktopové aplikace na .NET Core
Transkript prezentace:

Advanced Debugging Stories.NET Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT,

DEMO StackOverflow – DebugDiag, WinDbg

Debugging Tools for Windows WinDbg – „GUI“ NTSD – new console CSD – classic console DebugDiag - samostatné součást Windows SDK

Debugger Extensions pro.NET.load C:\path\to\extension.dll SOS.dll – Son of Strike, součást.NET.loadby sos mscorwks (.NET < 4).loadby sos clr (.NET >= 4) PSSCOR2/PSSCOR4 – širší SOS (web) SOSEX, NetEx – 3rd party !help [ ]

Záludnosti použití Debuggeru Platform - x86 vs. x64 Symbols.symfix (MSFT Symbols Server),.sympath,.sympath+.reload.NET Data Access Layer (mscordacwks.dll).cordll -ve -u –l stejná verze, jako na laděném stroji (dtto SOS)

Režimy práce s Debuggerem Open Executable... ( g pro Run) Attach to a Process... Open Crash Dump... Task Manager / Create Dump File (!!32-bit vs. x64 stroj) – DebugDiag / ADPLUS – Windows Error Reporting – Windows Crash Dump – WIN32 API (extern v.NET)

DebugDiag „user“-friendly UI připravené analýzy sběr dat/dumpů pod pokličkou debugger services voláno např. i z Azure Web Apps KUDU

WinDbg Reference

Stack Examination !ClrStack [-i] [-a] [-l] [-p] !DumpStack [-EE] !EEStack [-EE] (all threads) !DumpStackObjects (typy)

Heap Examination !DumpHeap [-stat] [-type ] [-mt ] [-live|dead] !HeapStat [-inclUnrooted] !GCRoot !GCHandles !EEHeap –gc !FinalizationQueue [-allReady] !FindAppDomain

Object Inspection !DumpObject !DumpArray !DumpVC dd dq !ObjSize

Error Diagnostics !PrintException [ObjAddr] [-nested] !DumpAllExceptions(PSSCOR4) !wdae(NETEXT) !wpe(NETEXT) !VerifyHeap !VerifyObj !analyze -v(native)

Threads !Threads!ThreadState ~123s !ThreadPool

DEMO, DEMO, DEMO

Diagnostika - postup 1.neodkladné kroky, typicky memory dump 2.systematizace – symptomps (základní vs. odvozené) – steps to reproduce – od kdy? co se změnilo? 3.zkušenosti + Google hypotézy + jejich testování 5.verifikace řešení

Doporučení validujte ořezávejte problém, zužujte pracovní pole porovnávejte

Internals - AppDomains System – zakládá Shared a Application – loaduje mscorlib.dll (into Shared) – spravuje AppDomains, spravuje strings – předvytvoří instance výjimek OoM, SO,... Shared – obsahuje mscorlib.dll + basic types - string, enum,.. Application (n) – user code !DumpDomain [ ]

Internals - Assemblies Assembly = unit of deployment – manifest – jeden nebo několik Modules – self-describing JIT Compilation, MSIL, Method Tables, Method Descr. !DumpAssembly !DumpModule [-mt] !DumpMT !IP2MD !DumpMD

Q & A Robert Haken MVP ASP.NET/IIS,