Please enable JavaScript to view this site.

Thread Validator Help

The Active Objects tab allows you to view and examine synchronization objects that are currently active.


interactiveRead on, or click a part of the image below to jump straight to the help for that area.





The Active Objects View


The view shows information about all active synchronization objects.


Each object is listed with its callstack to enable you to drill down to the source code for the call.


When Thread Validator identifies miscellaneous error conditions, data about the conditions and callstack is displayed in this window.


That data can be filtered and restricted by watermarks to fine tune the displayed data.



Examining a data item


Each item can be expanded with the expand-symbol button ( and then collapsed with the collapse-symbol) to show more detailed information:


thread id and the name, if assigned


the callstack for the item


Each line of the callstack shows:


instruction address

module name

undecorated C++ function name

source file and line number (if available) for the function





Examining the callstack and code


One or more parts of the callstack can be expanded or collapsed using the expand-symbol or collapse-symbol to show the source code around the relevant line in the associated file.


If the source code can't be found, or the file location is invalid you'll be prompted for the file.


The line on which the allocation occurred is highlighted, e.g. green in this example:




To edit the source code, double click on any part of the lines of source code displayed or use right_mouse_buttonEdit Source Code...



Source file not found automatically?


If the source file isn't found automatically, you'll be prompted to provide the location manually with the Find Source File dialog





You can scan, search or browse for the source location depending on how much of an idea you have of the location:


Browse... instructionStep uses an explorer to search manually


Search All Drives... instructionStep does a full scan of your computer, showing the Searching For Source Files dialog

You can stop the search at any time



If a file is found, the filename is entered at the top of the Find Source File dialog.


If multiple results are found, pick the best one from the results dialog that appears:





Search Folder... instructionStep prompts for a folder, and scans that using the same Searching For Source Files dialog as above


If multiple results are found, pick the best one from the results dialog (above)



Rather than repeatedly searching manually for locations, it's recommended to modify the automatic source file search paths:


File Locations... instructionStep shows the File Locations Settings dialog so you can change the automatic search paths


Changing the search paths to include additional source locations means you'll get prompted less.


The file locations settings dialog is identical to the File Locations page of the global settings dialog.





If you don't want to be prompted with this dialog, then uncheck the first option below


Ask for location of file if file cannot be found in search paths instructionStep shows this dialog each time you try to open a source file where the location is unknown


Don't ask for location of file if line number is not valid instructionStep stops this dialog from showing when line numbers are invalid, e.g.  zero or negative


The default is not to ask in this case.





The amount of data in the main display can be reduced by watermarks.


Here you can choose two watermarks allowing only the data between them to be displayed.


First Watermark instructionStep Choose a watermark from the list instructionStep Last Watermark instructionStep Choose another watermark instructionStep Refresh instructionStep updates the data shown in the display


There are two permanent default watermarks, called First watermark (before anything else) and Last watermark (after anything else).


Attempting to choose a first watermark later than the last watermark, or vice-versa will result in the alternate watermark automatically updating.



Updating the display


Display... instructionStep show the Active Objects Display Settings dialog




 Choose the types of data to display and whether the data should be grouped or displayed individually.


Refresh instructionStep refresh the list manually when you need to

Group by callstack instructionStep groups information by related callstack (default)


note The number of items in an ungrouped table can get very long when there are many items with the same callstack.



Active objects menu optionsright_mouse_button


The following popup menu is available over the data area to add bookmarks, watermarks and edit source code.


Menu actions apply to the function for the row at the menu-click location.





right_mouse_buttonMenu option: bookmarks and watermarks


Bookmarks allow you to find a data item easily at a later date, while watermarks are used above to show only those items between two points in time.


Add Bookmark... instructionStep adds a bookmark for the selected item


Add Watermark... instructionStep adds a watermark for the selected item



right_mouse_buttonMenu option: editing source code


Edit Source Code... instructionStep opens the default or preferred editor to edit the source code



right_mouse_buttonMenu options: collapse / expand trace


Collapse or Expand Trace instructionStep simply shows and hides data item information, the same as using the expand-symbol or collapse-symbolbuttons


Collapse or Expand All instructionStep hides or shows all the available callstack information for every listed item