Please enable JavaScript to view this site.

Performance Validator Help


The Callstack view displays a snapshot of the callstack for a selected thread.





The callstack view


The callstack view shows a snapshot of the callstack for any thread in your application as the program runs.


The callstack is displayed in a columnar format with the following information in each level in the stack


Thread: the id of the thread, or the name if one has been set


Address: the address of the function


Module: the DLL or executable name


Symbol: the symbol of the method or function


Filename: the path to the file containing the function, including line number


The display can be updated automatically from every 20ms to every 2s or only on demand.


If the threads in your application have been named (see how) then those names are displayed in the thread list so that you can identify them.


Alternatively, use the Thread Names dialog below, to assign names to the threads for the duration of the session.



Callstack display options


The callstack options let you choose which thread to monitor and how often.




Thread instructionStep select the thread which will have its callstack displayed


Refresh instructionStep manually refresh the callstack of the selected thread


Thread Names... instructionStep displays the Thread Names dialog




Double click the Name column and enter a name to associate with a Thread Id.


Display... instructionStep displays the Callstack Display Settings dialog




Update instructionStep set the display update frequency, from every 20ms to every 2s


Auto Update instructionStep uncheck to disable the automatic callstack updates



Thread names


If a thread has been named using the Win32 RaiseException method, the Win32 SetThreadDescription(), or using pvSetThreadName() its name is shown in the list. See the link below for more details.


For threads not explicitly named by the above methods, Performance Validator provides automatically generated names based on the name of the function passed to CreateThread(), _beginthread(), or _beginthreadex(). If you want to give a thread a name here by double clicking on the name column and entering a name for the thread. Click outside the box or press return to complete the entry.


seeAlsoHow can I give a name to a thread from my code?