SlideShare a Scribd company logo
DEBUGGING IN VISUAL STUDIO
(BASIC LEVEL)
Larry Nung
AGENDA
Break Point & Trace Point
Code Stepping
Edit variable value
Debug with Object ID
Set the Next Statement
Edit and continue
Q & A
2
BREAK POINT & TRACE POINT
3
BREAKPOINT GLYPHS
4
SET A SIMPLE BREAKPOINT
1. [Debug | Toggle Breakpoint]
2. [Breakpoint | Insert Breakpoint] from context
menu in source window.
3. Click on left margin
4. Shortcut
 F9
5
SET A SIMPLE BREAKPOINT
6
SET A SIMPLE BREAKPOINT
7
SET A BREAKPOINT ON A FUNCTION CALL
FROM THE CALL STACK WINDOW
 [Breakpoint | Insert Breakpoint] from context
menu in Call Stack window.
8
DELETE A BREAKPOINT
 In the Breakpoints window, choose a breakpoint,
and click Delete button from the toolbar
 In the Breakpoints window, right-click on a
breakpoint, and choose [Delete] from context menu.
 In a source window or Disassembly window, click
on the breakpoint glyph.
 Shortcut
 F9
9
DELETE A BREAKPOINT
10
DISABLE A BREAKPOINT
 In a source, Disassembly, or Call Stack window,
right-click on a line containing an enabled
breakpoint glyph and choose [Breakpoint |
Disable Breakpoint] from the shortcut menu.
 In the Breakpoints window, clear the checkbox
next to an enabled breakpoint.
 Shortcut
 Ctrl + F9
11
DISABLE A BREAKPOINT
12
DISABLE A BREAKPOINT
13
ENABLE A BREAKPOINT
 In a source, Disassembly, or Call Stack window,
right-click on a line containing a disabled
breakpoint glyph and choose [Breakpoint |
Enable Breakpoint] from the shortcut menu.
 In the Breakpoints window, set the checkbox next
to a disabled breakpoint.
 Shortcut
 Ctrl + F9
14
ENABLE A BREAKPOINT
15
ENABLE A BREAKPOINT
16
DISABLE ALL BREAKPOINTS
 [Debug | Disable All Breakpoints]
 In the Breakpoints window, click disable-all button
in toolbar.
17
DISABLE ALL BREAKPOINTS
18
ENABLE ALL BREAKPOINTS
 [Debug | Enable All Breakpoints]
 In the Breakpoints window, click enable-all button
in toolbar.
19
ENABLE ALL BREAKPOINTS
20
DELETE ALL BREAKPOINTS
 [Debug | Delete All Breakpoints]
21
DELETE ALL BREAKPOINTS
22
BREAKPOINT FILTER
 Function
 Limit the behavior of a breakpoint to specified machines,
processes, and threads.
 [Filter] from the context menu in the Breakpoints
window.
 In a source, Disassembly, or Call Stack, right-click a
line containing a breakpoint glyph and
choose Filter from Breakpoints in the shortcut
menu.
 [Filter] from context menu in breakpoint glyph.
23
BREAKPOINT FILTER
24
BREAKPOINT FILTER
25
BREAKPOINT HIT COUNT
 Function
 Keep track of how many times a breakpoint is hit.
 In the Breakpoints window, right-click on a
breakpoint and choose Hit Count from the shortcut
menu.
 [Hit Count…] from context menu in breakpoint
glyph.
 In a source, Disassembly, or Call Stack window,
right-click on a line containing a breakpoint and
choose [Breakpoints | Hit Count] in the shortcut
menu.
26
BREAKPOINT HIT COUNT
27
BREAKPOINT HIT COUNT
28
BREAKPOINT HIT COUNT
29
BREAKPOINT CONDITION
 Function
 An expression that the debugger evaluates when a
breakpoint is reached.
 In the Breakpoints window, right-click the line
containing a breakpoint glyph and
choose Condition from the shortcut menu.
 In a source, Disassembly, or Call Stack, right-click a
line containing a breakpoint glyph and
choose Condition from Breakpoints in the
shortcut menu.
 [Condition…] from context menu in breakpoint
glyph. 30
BREAKPOINT CONDITION
31
BREAKPOINT CONDITION
32
TRACE POINT
 Function
 A tracepoint is a breakpoint with a custom action
associated with it.
 In a source window, click a line where you want to
set a tracepoint and choose Insert
Tracepoint from Breakpoints in the shortcut menu.
 In a source, Disassembly, or Call Stack window,
right-click a breakpoint glyph and choose When Hit.
 In the Breakpoints window, right-click a breakpoint
glyph and choose When Hit.
33
TRACE POINT
34
CODE STEPPING
35
STEP INTO
 Function
 If the line contains a function call, Step Into executes
only the call itself, then halts at the first line of code
inside the function. Otherwise, Step Into executes the
next statement.
 ShortCut
 F11
36
STEP INTO
37
STEP OVER
 Function
 If the line contains a function call, Step Over executes
the called function, then halts at the first line of code
inside the calling function. Otherwise, Step
Into executes the next statement.
 ShortCut
 F10
38
STEP OVER
39
STEP OUT
 Function
 Step Out resumes execution of your code until the
function returns, then breaks at the return point in the
calling function.
 ShortCut
 Shift + F11
40
STEP OUT
41
EDIT VARIABLE VALUE
42
EDIT VARIABLE VALUE
43
EDIT VARIABLE VALUE
44
EDIT VARIABLE VALUE
45
EDIT VARIABLE VALUE
46
DEBUG WITH OBJECT ID
47
DEBUG WITH OBJECT ID
 Function
 Identify debugging object
48
DEBUG WITH OBJECT ID
49
SET THE NEXT STATEMENT
50
SET THE NEXT STATEMENT
 Function
 Move the execution point to set the next statement of
code to be executed
 In a source window, click the yellow arrowhead and
drag it to a location where you want to set the next
statement (in the same source file), or
 In a source window, right-click on the statement you
want to execute next and choose Set Next
Statement from the shortcut menu.
 In the Disassembly window, right-click the
assembly-language instruction that you want to
execute next and choose Set Next Statement from
the shortcut menu. 51
SET THE NEXT STATEMENT
52
SET THE NEXT STATEMENT
53
Drag & Drop
SET THE NEXT STATEMENT
54
EDIT AND CONTINUE
55
EDIT AND CONTINUE
 Function
 A time-saving feature that enables you to make changes
to your source code while your program is in break
mode
56
EDIT AND CONTINUE
57
EDIT AND CONTINUE
58
REFERENCE
59
REFERENCE
 Breakpoints and Tracepoints
 https://msdn.microsoft.com/en-
us/library/ktf38f66(v=vs.90).aspx
 Edit and Continue
 https://msdn.microsoft.com/en-us/library/bcew296c.aspx
 Debugger Tips, Tricks and Tools #6 - Gooey Bugs -
Site Home - MSDN Blogs
 http://blogs.msdn.com/b/jimgries/archive/2005/11/16/49
3431.aspx
 [C#][Visual Studio]Debug With Object ID - Level
Up- 點部落
 http://www.dotblogs.com.tw/larrynung/archive/2011/05/0
5/24296.aspx 60
REFERENCE
 [Visual Studio]追蹤點(Tracepoint)的使用 - Level Up-
點部落
 http://www.dotblogs.com.tw/larrynung/archive/2009/11/0
4/11399.aspx
 How to: Set the Next Statement
 https://msdn.microsoft.com/en-
us/library/09yze4a9%28VS.80%29.aspx
 Start, Break, Step, Run through Code, and Stop
Debugging in Visual Studio
 https://msdn.microsoft.com/en-us/library/y740d9d3.aspx
61
Q & A
62
QUESTION & ANSWER
63

More Related Content

What's hot

Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
Aarti P
 

What's hot (20)

Introduction To C#
Introduction To C#Introduction To C#
Introduction To C#
 
JAVA AWT
JAVA AWTJAVA AWT
JAVA AWT
 
Exception Handling in C#
Exception Handling in C#Exception Handling in C#
Exception Handling in C#
 
White Box Testing
White Box Testing White Box Testing
White Box Testing
 
Lecture 1 introduction to vb.net
Lecture 1   introduction to vb.netLecture 1   introduction to vb.net
Lecture 1 introduction to vb.net
 
C# basics
 C# basics C# basics
C# basics
 
Java tokens
Java tokensJava tokens
Java tokens
 
Java OOPS Concept
Java OOPS ConceptJava OOPS Concept
Java OOPS Concept
 
Inheritance in OOPS
Inheritance in OOPSInheritance in OOPS
Inheritance in OOPS
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Java Basics
Java BasicsJava Basics
Java Basics
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
Presentation on Visual Studio
Presentation on Visual StudioPresentation on Visual Studio
Presentation on Visual Studio
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language
 
C# Lab Programs.pdf
C# Lab Programs.pdfC# Lab Programs.pdf
C# Lab Programs.pdf
 
Swing and AWT in java
Swing and AWT in javaSwing and AWT in java
Swing and AWT in java
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 

Similar to Debugging in visual studio (basic level)

Chapter 08
Chapter 08Chapter 08
Chapter 08
llmeade
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
vkyecc1
 
User exit training
User exit trainingUser exit training
User exit training
Jen Ringel
 
Ccure 9000 Admin user's manual
Ccure 9000 Admin user's manualCcure 9000 Admin user's manual
Ccure 9000 Admin user's manual
Bill Kelly
 

Similar to Debugging in visual studio (basic level) (20)

CIM and automation laboratory manual
CIM and automation laboratory manualCIM and automation laboratory manual
CIM and automation laboratory manual
 
Calibration process
Calibration processCalibration process
Calibration process
 
Calibration process
Calibration processCalibration process
Calibration process
 
Xmastcamcribboard
XmastcamcribboardXmastcamcribboard
Xmastcamcribboard
 
Inventor project-dynamic-simulation-guide-en
Inventor project-dynamic-simulation-guide-enInventor project-dynamic-simulation-guide-en
Inventor project-dynamic-simulation-guide-en
 
User Exits
User ExitsUser Exits
User Exits
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Plc fatek
Plc fatekPlc fatek
Plc fatek
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
 
User exit training
User exit trainingUser exit training
User exit training
 
Action script
Action scriptAction script
Action script
 
Ma3696 Lecture 2
Ma3696 Lecture 2Ma3696 Lecture 2
Ma3696 Lecture 2
 
How to remove pop up blocker on safari?
How to remove pop up blocker on safari?How to remove pop up blocker on safari?
How to remove pop up blocker on safari?
 
Ccure 9000 Admin user's manual
Ccure 9000 Admin user's manualCcure 9000 Admin user's manual
Ccure 9000 Admin user's manual
 
Debugger & Profiler in NetBeans
Debugger & Profiler in NetBeansDebugger & Profiler in NetBeans
Debugger & Profiler in NetBeans
 
how to use Creator c500 bmw honda scanner
how to use Creator c500 bmw honda scannerhow to use Creator c500 bmw honda scanner
how to use Creator c500 bmw honda scanner
 
2 front panel
2  front panel2  front panel
2 front panel
 
Gl13 m8-c4-presentation
Gl13 m8-c4-presentationGl13 m8-c4-presentation
Gl13 m8-c4-presentation
 
Advance communication system manual
Advance communication system manualAdvance communication system manual
Advance communication system manual
 
C# Tutorial MSM_Murach chapter-11-slides
C# Tutorial MSM_Murach chapter-11-slidesC# Tutorial MSM_Murach chapter-11-slides
C# Tutorial MSM_Murach chapter-11-slides
 

More from Larry Nung

More from Larry Nung (20)

Ansible - simple it automation
Ansible - simple it automationAnsible - simple it automation
Ansible - simple it automation
 
sonarwhal - a linting tool for the web
sonarwhal - a linting tool for the websonarwhal - a linting tool for the web
sonarwhal - a linting tool for the web
 
LiteDB - A .NET NoSQL Document Store in a single data file
LiteDB - A .NET NoSQL Document Store in a single data fileLiteDB - A .NET NoSQL Document Store in a single data file
LiteDB - A .NET NoSQL Document Store in a single data file
 
PL/SQL & SQL CODING GUIDELINES – Part 8
PL/SQL & SQL CODING GUIDELINES – Part 8PL/SQL & SQL CODING GUIDELINES – Part 8
PL/SQL & SQL CODING GUIDELINES – Part 8
 
MessagePack - An efficient binary serialization format
MessagePack - An efficient binary serialization formatMessagePack - An efficient binary serialization format
MessagePack - An efficient binary serialization format
 
PL/SQL & SQL CODING GUIDELINES – Part 7
PL/SQL & SQL CODING GUIDELINES – Part 7PL/SQL & SQL CODING GUIDELINES – Part 7
PL/SQL & SQL CODING GUIDELINES – Part 7
 
BenchmarkDotNet - Powerful .NET library for benchmarking
BenchmarkDotNet  - Powerful .NET library for benchmarkingBenchmarkDotNet  - Powerful .NET library for benchmarking
BenchmarkDotNet - Powerful .NET library for benchmarking
 
PLSQL Coding Guidelines - Part 6
PLSQL Coding Guidelines - Part 6PLSQL Coding Guidelines - Part 6
PLSQL Coding Guidelines - Part 6
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 
Visual studio 2017
Visual studio 2017Visual studio 2017
Visual studio 2017
 
Web deploy command line
Web deploy command lineWeb deploy command line
Web deploy command line
 
Web deploy
Web deployWeb deploy
Web deploy
 
SikuliX
SikuliXSikuliX
SikuliX
 
Topshelf - An easy service hosting framework for building Windows services us...
Topshelf - An easy service hosting framework for building Windows services us...Topshelf - An easy service hosting framework for building Windows services us...
Topshelf - An easy service hosting framework for building Windows services us...
 
Common.logging
Common.loggingCommon.logging
Common.logging
 
protobuf-net - Protocol Buffers library for idiomatic .NET
protobuf-net - Protocol Buffers library for idiomatic .NETprotobuf-net - Protocol Buffers library for idiomatic .NET
protobuf-net - Protocol Buffers library for idiomatic .NET
 
PL/SQL & SQL CODING GUIDELINES – Part 5
PL/SQL & SQL CODING GUIDELINES – Part 5PL/SQL & SQL CODING GUIDELINES – Part 5
PL/SQL & SQL CODING GUIDELINES – Part 5
 
Regular expression
Regular expressionRegular expression
Regular expression
 
PL/SQL & SQL CODING GUIDELINES – Part 4
PL/SQL & SQL CODING GUIDELINES – Part 4PL/SQL & SQL CODING GUIDELINES – Part 4
PL/SQL & SQL CODING GUIDELINES – Part 4
 
Fx.configuration
Fx.configurationFx.configuration
Fx.configuration
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 

Debugging in visual studio (basic level)

  • 1. DEBUGGING IN VISUAL STUDIO (BASIC LEVEL) Larry Nung
  • 2. AGENDA Break Point & Trace Point Code Stepping Edit variable value Debug with Object ID Set the Next Statement Edit and continue Q & A 2
  • 3. BREAK POINT & TRACE POINT 3
  • 5. SET A SIMPLE BREAKPOINT 1. [Debug | Toggle Breakpoint] 2. [Breakpoint | Insert Breakpoint] from context menu in source window. 3. Click on left margin 4. Shortcut  F9 5
  • 6. SET A SIMPLE BREAKPOINT 6
  • 7. SET A SIMPLE BREAKPOINT 7
  • 8. SET A BREAKPOINT ON A FUNCTION CALL FROM THE CALL STACK WINDOW  [Breakpoint | Insert Breakpoint] from context menu in Call Stack window. 8
  • 9. DELETE A BREAKPOINT  In the Breakpoints window, choose a breakpoint, and click Delete button from the toolbar  In the Breakpoints window, right-click on a breakpoint, and choose [Delete] from context menu.  In a source window or Disassembly window, click on the breakpoint glyph.  Shortcut  F9 9
  • 11. DISABLE A BREAKPOINT  In a source, Disassembly, or Call Stack window, right-click on a line containing an enabled breakpoint glyph and choose [Breakpoint | Disable Breakpoint] from the shortcut menu.  In the Breakpoints window, clear the checkbox next to an enabled breakpoint.  Shortcut  Ctrl + F9 11
  • 14. ENABLE A BREAKPOINT  In a source, Disassembly, or Call Stack window, right-click on a line containing a disabled breakpoint glyph and choose [Breakpoint | Enable Breakpoint] from the shortcut menu.  In the Breakpoints window, set the checkbox next to a disabled breakpoint.  Shortcut  Ctrl + F9 14
  • 17. DISABLE ALL BREAKPOINTS  [Debug | Disable All Breakpoints]  In the Breakpoints window, click disable-all button in toolbar. 17
  • 19. ENABLE ALL BREAKPOINTS  [Debug | Enable All Breakpoints]  In the Breakpoints window, click enable-all button in toolbar. 19
  • 21. DELETE ALL BREAKPOINTS  [Debug | Delete All Breakpoints] 21
  • 23. BREAKPOINT FILTER  Function  Limit the behavior of a breakpoint to specified machines, processes, and threads.  [Filter] from the context menu in the Breakpoints window.  In a source, Disassembly, or Call Stack, right-click a line containing a breakpoint glyph and choose Filter from Breakpoints in the shortcut menu.  [Filter] from context menu in breakpoint glyph. 23
  • 26. BREAKPOINT HIT COUNT  Function  Keep track of how many times a breakpoint is hit.  In the Breakpoints window, right-click on a breakpoint and choose Hit Count from the shortcut menu.  [Hit Count…] from context menu in breakpoint glyph.  In a source, Disassembly, or Call Stack window, right-click on a line containing a breakpoint and choose [Breakpoints | Hit Count] in the shortcut menu. 26
  • 30. BREAKPOINT CONDITION  Function  An expression that the debugger evaluates when a breakpoint is reached.  In the Breakpoints window, right-click the line containing a breakpoint glyph and choose Condition from the shortcut menu.  In a source, Disassembly, or Call Stack, right-click a line containing a breakpoint glyph and choose Condition from Breakpoints in the shortcut menu.  [Condition…] from context menu in breakpoint glyph. 30
  • 33. TRACE POINT  Function  A tracepoint is a breakpoint with a custom action associated with it.  In a source window, click a line where you want to set a tracepoint and choose Insert Tracepoint from Breakpoints in the shortcut menu.  In a source, Disassembly, or Call Stack window, right-click a breakpoint glyph and choose When Hit.  In the Breakpoints window, right-click a breakpoint glyph and choose When Hit. 33
  • 36. STEP INTO  Function  If the line contains a function call, Step Into executes only the call itself, then halts at the first line of code inside the function. Otherwise, Step Into executes the next statement.  ShortCut  F11 36
  • 38. STEP OVER  Function  If the line contains a function call, Step Over executes the called function, then halts at the first line of code inside the calling function. Otherwise, Step Into executes the next statement.  ShortCut  F10 38
  • 40. STEP OUT  Function  Step Out resumes execution of your code until the function returns, then breaks at the return point in the calling function.  ShortCut  Shift + F11 40
  • 48. DEBUG WITH OBJECT ID  Function  Identify debugging object 48
  • 50. SET THE NEXT STATEMENT 50
  • 51. SET THE NEXT STATEMENT  Function  Move the execution point to set the next statement of code to be executed  In a source window, click the yellow arrowhead and drag it to a location where you want to set the next statement (in the same source file), or  In a source window, right-click on the statement you want to execute next and choose Set Next Statement from the shortcut menu.  In the Disassembly window, right-click the assembly-language instruction that you want to execute next and choose Set Next Statement from the shortcut menu. 51
  • 52. SET THE NEXT STATEMENT 52
  • 53. SET THE NEXT STATEMENT 53 Drag & Drop
  • 54. SET THE NEXT STATEMENT 54
  • 56. EDIT AND CONTINUE  Function  A time-saving feature that enables you to make changes to your source code while your program is in break mode 56
  • 60. REFERENCE  Breakpoints and Tracepoints  https://msdn.microsoft.com/en- us/library/ktf38f66(v=vs.90).aspx  Edit and Continue  https://msdn.microsoft.com/en-us/library/bcew296c.aspx  Debugger Tips, Tricks and Tools #6 - Gooey Bugs - Site Home - MSDN Blogs  http://blogs.msdn.com/b/jimgries/archive/2005/11/16/49 3431.aspx  [C#][Visual Studio]Debug With Object ID - Level Up- 點部落  http://www.dotblogs.com.tw/larrynung/archive/2011/05/0 5/24296.aspx 60
  • 61. REFERENCE  [Visual Studio]追蹤點(Tracepoint)的使用 - Level Up- 點部落  http://www.dotblogs.com.tw/larrynung/archive/2009/11/0 4/11399.aspx  How to: Set the Next Statement  https://msdn.microsoft.com/en- us/library/09yze4a9%28VS.80%29.aspx  Start, Break, Step, Run through Code, and Stop Debugging in Visual Studio  https://msdn.microsoft.com/en-us/library/y740d9d3.aspx 61