1
Tamir Dresher
Senior Software Architect
J
Debugging tricks you wish you knew
Debugging is a time-travel
2
333
• Software architect, consultant and instructor
• Software Engineering Lecturer @ Ruppin Academic Center
• Reactive Extensions in .NET (Manning)
@tamir_dresher
tamirdr@codevalue.net
http://www.TamirDresher.com.
About Me
Agenda
Breakpoints
Comparing object while debugging
Exceptions
Debugging Multithreaded Applications
Post-mortum debugging
Debugging LINQ
4
Breakpoints
5
Setting New Breakpoints
6
Method Breakpoints
If you type a method name (without class name)
VS select all that matches
7
Conditional Breakpoints
8
Conditional Breakpoints (OzCode)
9
invoice.Id915486 intinvoice.Id915486 int
Comparing Instances
10
Make object ID
The object is later available in every watch window
11
OzCode Comapre
12
Exception
13
First Chance Exceptions
Breaking when thrown
OzCode makes it easier
14
Predicting the future
Predict
15
Multithreading
16
Staying on the same thread (freezing other threads)
17
Tracepoints (VS)
a.k.a Printf(…) debugging
18
Tracepoints (OzCode)
19
Show All Instances
20
Finding Tasks Deadlocks
Debug –> windows –> Tasks
21
Post-Mortem Debugging
22
Automatic Dump Creation
To enable it, set the reg key
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsWindows Error
ReportingLocalDumps
DumpFolder – Location for the output dumps
DumpCount – Maximum amount of dumps in the folder
DumpType
1 – Mini Dump
2 – Full Dump
0 – Custom Dump
CustomDumpFlags – if DumpType is 0, set the dump options
23
Debugging using the Dump (1)
24
Debugging using the Dump (2)
25
Debugging *.exe Files
26
LINQ
27
LINQ Debugging
28
Export
29
Custom Expressions
30
Give it a try
https://github.com/oz-code/OzCodeDemo
32
Presenter contact details
t: @tamir_dresher
e: tamirdr@codevalue.net
b: TamirDresher.com
w: www.codevalue.net
manning.com/dresher
Discount code:
dreshermu32
Discount code:
CPH_50

More Related Content

PPTX
Debugging NET Applications With WinDBG
PPTX
Who’s afraid of WinDbg
PPTX
The Veil-Framework
PDF
ES3-2020-P2 Bowling Game Kata
PDF
TDD in Python With Pytest
PPT
Stopping the Rot - Putting Legacy C++ Under Test
PPT
Google C++ Testing Framework in Visual Studio 2008
PPTX
PVS-Studio and static code analysis technique
Debugging NET Applications With WinDBG
Who’s afraid of WinDbg
The Veil-Framework
ES3-2020-P2 Bowling Game Kata
TDD in Python With Pytest
Stopping the Rot - Putting Legacy C++ Under Test
Google C++ Testing Framework in Visual Studio 2008
PVS-Studio and static code analysis technique

What's hot (20)

PPTX
TDD in Go with Ginkgo and Gomega
PDF
Living With Legacy Code
PDF
ES3-2020-05 Testing
PDF
A Battle Against the Industry - Beating Antivirus for Meterpreter and More
PPTX
Building unit tests correctly with visual studio 2013
PDF
Higher Level Malware
PDF
Pentester++
PPT
Presentation_C++UnitTest
PDF
JUnit 4 Can it still teach us something? - Andrzej Jóźwiak - Kariera IT Łodź ...
PDF
Testing Legacy Rails Apps
PDF
The Art of AV Evasion - Or Lack Thereof
PPTX
Automation testing with Drupal 8
PPT
20111018 boost and gtest
ODP
Automated testing in Python and beyond
 
PDF
Exploit ie using scriptable active x controls version English
PDF
Pitfalls Of Tdd Adoption by Bartosz Bankowski
PDF
2013 syscan360 yuki_chen_syscan360_exploit your java native vulnerabilities o...
ODP
Introduction to Binary Exploitation
PDF
Test all the things! Automated testing with Drupal 8
PPTX
TDD & BDD
TDD in Go with Ginkgo and Gomega
Living With Legacy Code
ES3-2020-05 Testing
A Battle Against the Industry - Beating Antivirus for Meterpreter and More
Building unit tests correctly with visual studio 2013
Higher Level Malware
Pentester++
Presentation_C++UnitTest
JUnit 4 Can it still teach us something? - Andrzej Jóźwiak - Kariera IT Łodź ...
Testing Legacy Rails Apps
The Art of AV Evasion - Or Lack Thereof
Automation testing with Drupal 8
20111018 boost and gtest
Automated testing in Python and beyond
 
Exploit ie using scriptable active x controls version English
Pitfalls Of Tdd Adoption by Bartosz Bankowski
2013 syscan360 yuki_chen_syscan360_exploit your java native vulnerabilities o...
Introduction to Binary Exploitation
Test all the things! Automated testing with Drupal 8
TDD & BDD
Ad

Viewers also liked (11)

PPTX
Advanced Debugging with WinDbg and SOS
PPTX
Advanced windows debugging
PDF
Crash (or) Hang dump analysis using WinDbg in Windows platform by K.S.Shanmug...
PPTX
Windows Debugging with WinDbg
PDF
Atoum, le framework de tests unitaires pour PHP 5.3 simple, moderne et intuit...
PPTX
VS Debugging Tricks
PPTX
C++ Production Debugging
PDF
Getting Browsers to Improve the Security of Your Webapp
PPTX
Windows memory management
PDF
Crash dump analysis - experience sharing
PPTX
Windows Crash Dump Analysis
Advanced Debugging with WinDbg and SOS
Advanced windows debugging
Crash (or) Hang dump analysis using WinDbg in Windows platform by K.S.Shanmug...
Windows Debugging with WinDbg
Atoum, le framework de tests unitaires pour PHP 5.3 simple, moderne et intuit...
VS Debugging Tricks
C++ Production Debugging
Getting Browsers to Improve the Security of Your Webapp
Windows memory management
Crash dump analysis - experience sharing
Windows Crash Dump Analysis
Ad

Similar to Debugging tricks you wish you knew - Tamir Dresher (20)

PPTX
.NET Debugging tricks you wish you knew tamir dresher
PDF
Debugging tricks you wish you knew Tamir Dresher - Odessa 2019
PPTX
How to become a .net debugging jedi (Microsoft R&D Center, Nazareth, Israel)
PDF
Tdd in practice
PDF
Neal Ford Emergent Design And Evolutionary Architecture
PPTX
How to drive a malware analyst crazy
PPTX
44CON London 2015 - How to drive a malware analyst crazy
PPTX
Test-Driven Development
PDF
Lotusphere 2007 AD505 DevBlast 30 LotusScript Tips
PDF
Pyramid of-developer-skills
PDF
Speed geeking-lotusscript
PDF
TDD CrashCourse Part2: TDD
PDF
The View - The top 30 Development tips
PDF
Don't let your tests slow you down
PPTX
IOS debugging
PDF
Tdd is not about testing
PDF
Skiron - Experiments in CPU Design in D
PDF
Typhoon Managed Execution Toolkit
PPT
gdb-debug analysis and commnds on gcc.ppt
PDF
Clean Code V2
.NET Debugging tricks you wish you knew tamir dresher
Debugging tricks you wish you knew Tamir Dresher - Odessa 2019
How to become a .net debugging jedi (Microsoft R&D Center, Nazareth, Israel)
Tdd in practice
Neal Ford Emergent Design And Evolutionary Architecture
How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy
Test-Driven Development
Lotusphere 2007 AD505 DevBlast 30 LotusScript Tips
Pyramid of-developer-skills
Speed geeking-lotusscript
TDD CrashCourse Part2: TDD
The View - The top 30 Development tips
Don't let your tests slow you down
IOS debugging
Tdd is not about testing
Skiron - Experiments in CPU Design in D
Typhoon Managed Execution Toolkit
gdb-debug analysis and commnds on gcc.ppt
Clean Code V2

More from Tamir Dresher (20)

PPTX
Engineering tools for making smarter decisions .pptx
PDF
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
PPTX
Tamir Dresher - DotNet 7 What's new.pptx
PPTX
Tamir Dresher - What’s new in ASP.NET Core 6
PPTX
Tamir Dresher - Async Streams in C#
PPTX
Anatomy of a data driven architecture - Tamir Dresher
PPTX
Tamir Dresher Clarizen adventures with the wild GC during the holiday season
PDF
From zero to hero with the actor model - Tamir Dresher - Odessa 2019
PPTX
Tamir Dresher - Demystifying the Core of .NET Core
PPTX
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
PPTX
.Net december 2017 updates - Tamir Dresher
PPTX
Testing time and concurrency Rx
PPTX
Building responsive application with Rx - confoo - tamir dresher
PPTX
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
PPTX
Building responsive applications with Rx - CodeMash2017 - Tamir Dresher
PPTX
Rx 101 - Tamir Dresher - Copenhagen .NET User Group
PPTX
Cloud patterns - NDC Oslo 2016 - Tamir Dresher
PPTX
Reactiveness All The Way - SW Architecture 2015 Conference
PPTX
Rx 101 Codemotion Milan 2015 - Tamir Dresher
PPTX
Leveraging Dependency Injection(DI) in Universal Applications - Tamir Dresher
Engineering tools for making smarter decisions .pptx
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
Tamir Dresher - DotNet 7 What's new.pptx
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - Async Streams in C#
Anatomy of a data driven architecture - Tamir Dresher
Tamir Dresher Clarizen adventures with the wild GC during the holiday season
From zero to hero with the actor model - Tamir Dresher - Odessa 2019
Tamir Dresher - Demystifying the Core of .NET Core
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
.Net december 2017 updates - Tamir Dresher
Testing time and concurrency Rx
Building responsive application with Rx - confoo - tamir dresher
From Zero to the Actor Model (With Akka.Net) - CodeMash2017 - Tamir Dresher
Building responsive applications with Rx - CodeMash2017 - Tamir Dresher
Rx 101 - Tamir Dresher - Copenhagen .NET User Group
Cloud patterns - NDC Oslo 2016 - Tamir Dresher
Reactiveness All The Way - SW Architecture 2015 Conference
Rx 101 Codemotion Milan 2015 - Tamir Dresher
Leveraging Dependency Injection(DI) in Universal Applications - Tamir Dresher

Recently uploaded (20)

PPTX
Computer Software - Technology and Livelihood Education
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PPTX
Viber For Windows 25.7.1 Crack + Serial Keygen
PDF
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
PPTX
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
PDF
What Makes a Great Data Visualization Consulting Service.pdf
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PDF
AI Guide for Business Growth - Arna Softech
PDF
Workplace Software and Skills - OpenStax
PPTX
Cybersecurity-and-Fraud-Protecting-Your-Digital-Life.pptx
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
DOC
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
PPT
3.Software Design for software engineering
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PPTX
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
PPTX
Chapter 1 - Transaction Processing and Mgt.pptx
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PDF
CCleaner 6.39.11548 Crack 2025 License Key
PPTX
hospital managemt ,san.dckldnklcdnkdnkdnjadnjdjn
Computer Software - Technology and Livelihood Education
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Viber For Windows 25.7.1 Crack + Serial Keygen
MiniTool Power Data Recovery 12.6 Crack + Portable (Latest Version 2025)
Plex Media Server 1.28.2.6151 With Crac5 2022 Free .
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
What Makes a Great Data Visualization Consulting Service.pdf
Matchmaking for JVMs: How to Pick the Perfect GC Partner
AI Guide for Business Growth - Arna Softech
Workplace Software and Skills - OpenStax
Cybersecurity-and-Fraud-Protecting-Your-Digital-Life.pptx
ROI from Efficient Content & Campaign Management in the Digital Media Industry
UTEP毕业证学历认证,宾夕法尼亚克拉里恩大学毕业证未毕业
3.Software Design for software engineering
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
MLforCyber_MLDataSetsandFeatures_Presentation.pptx
Chapter 1 - Transaction Processing and Mgt.pptx
HackYourBrain__UtrechtJUG__11092025.pptx
CCleaner 6.39.11548 Crack 2025 License Key
hospital managemt ,san.dckldnklcdnkdnkdnjadnjdjn

Debugging tricks you wish you knew - Tamir Dresher

Editor's Notes

  • #4: My name is tamir dresher Im an architect from codevalue israel and a software engineering lecturer at the ruppin academic center CodeValue is a consulting company and we are also the proud development center of OzCode the amazing debugging extension for visual studio. We have a booth here at conference, so please go and check it out, youll be amazed how you lived without it. My book Rx in action is now available at Manning early access program should be published in the next few months. And that the end of my self promotion(it never hurts right?). So what are we really here for?
  • #5: Breakpoints conditional breakpoints Comparing object while debugging Object IDs OzCode Compare Exceptions Breaking on exceptions Conditional exceptions break Debugging Multithreaded Applications Freezing debugging to the current thread detecting deadlocked tasks Using tracepoints Finding an object and seeing all object of certain type while debugging Debugging LINQ Post-mortum debugging Dumps
  • #31: items.Where(i=>i.tags.Contains(“swift”)).ToList()