Changes

Jump to: navigation, search

GPU621/Sentinel

1,521 bytes added, 19:14, 25 November 2018
m
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
* Threads window
* Parallel Watch window
* Parallel Stacks 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==
== How to Debug Multithreaded Application in VS ==
# == '''Tools '''==  [[File:debug-windows.JPG | 900px]] When working with the debugger in more detail VS to debug a multi-threaded application, the two most important windows are: Locals window (on the left), and the Parallel Watch window (maybe show an example ourselveson the right). On the Locals window, you'll see all your local variable that are declared and visible in the current scope of where the breakpoint is set. On the Parallel Watch window, you'll see all the threads that have spawned and the *yellow arrow* on the left of the thread number is which thread's local variables you're viewing in the Locals window. Double click on another thread number and you'll see it's local variables in the Locals window. We will work with these windows in the coming walkthrough # == '''Walkthrough (workshop-style)'''==
Note: Add 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 link right path as to what the configurationsbug might be. You can download the code file from here: [https://wiki.cdot.senecacollege.ca/w/imgs/Workshop.txt Workshop.cpp]
35
edits

Navigation menu