Building multi-threaded applications has an associated complexity when it comes to debugging multiple threads executing in parallel. Understanding race conditions, inter-thread communication, file I/O, and other common issues that arise from multi-threading is a constant struggle for developers. LabWindows/CVI 2017 features added breakpoint functionality to specify which thread a breakpoint should break on, thereby making it easier to understand a specific thread’s state in a multi-threaded application.
At run time, developers now have the option of specifying for each breakpoint which thread to break on via thread ID. The breakpoint window maintains an understanding of what threads are currently in memory in the application and allows the developer to select one via drop-down. When used in conjunction with the new tracepoint functionality, users can also choose to print out the thread ID using $TID.