35
edits
Changes
m
* Threads window
* Parallel Stacks window
Note: Add the link to the configurations
Add the shortcuts to access the tools
Visual Studio provides the developers with a variety of tools to assist with the multithreaded application debugging:
1. '''Threads window''' - Allows to view and manipulate the threads, also provides partial call stack for each of the threads(Debug -> Windows -> Threads or Ctrl+Alt+H)
2. '''Thread markers''' - Icon resembling two cloth threads indicating where a thread is stopped. Provides a DataTip containing the name and thread ID, as well as thread manipulation shortcut menu
3. '''Parallel Stacks window''' - Shows call stack information for all the threads in the program(Debug -> Windows -> Parallel Stacks or Ctrl + Shift + D, S)
4. '''Parallel Watch window''' - Tracks the values produced by the multithreaded expression(Debug -> Windows -> Parallel Watch -> Parallel Watch n or Ctrl + Shift + D, watch number)
5. '''Debug Location toolbar''' - Allows manipulating threads and processes
6. '''Tasks window''' - Lists all the current parallel and scheduled tasks(Debug -> Windows -> Tasks or Ctrl + Shift + D, K)
7. '''GPU Threads window''' - Allows working with the GPU threads(Debug -> Windows -> GPU Threads)
8. '''Attach to Process dialog box''' - Allows the developer to attach the VS debugger to the process, enables the process debugging(Debug -> Attach to Process... or Ctrl + Alt + P) 9. '''Processes window''' - Lists all the processes currently attached to the debugger(Debug -> Windows -> Processes or Ctrl + Alt + Z)
The tools mentioned above can be divided into the following categories depending on the multithreading technique:
* Breakpoints
* Watch windowLocals
* Thread markers
* Parallel Watch window
== Basic Debugging Steps ==
# Setting Set up a Solution in Visual Studio 2017 Comunity Edition
# Build in Debug mode
# Double-check the outputs
# Start where the bug is by placing a breakpoint
==Setting up a Solution in Visual Studio 2017 Comunity Edition==
In order to help sink in the knowledge on how to use the debugger, the group will conduct a workshop. For our intents and purposes, the code is very short and simple. Your job is to find the bug with the variable "sum" and investigate why it doesn't have the correct value using the debugger. You might find the bug right off-the-bat but the point is to use the debugger to find it or put you in the right path as to what the bug might be. You can download the code file from here: [https://wiki.cdot.senecacollege.ca/w/imgs/Workshop.txt Workshop.cpp]