The symbol path truncated warning dialog is displayed to warn you when the symbol path is too long.
•Edit Symbol Paths... shows the file locations dialog so that you can edit the paths used for subsequent runs of the program.
You can choose when this dialog is displayed.
•Always show The dialog is always shown when the symbol path is too long.
•Show when path changes The dialog is shown when the symbol path is too long, but only if the symbol path is different than last time this warning was shown.
•Never show The dialog is never shown.
Whether this dialog is displayed or not there is always a warning message written to the diagnostic window when the symbol path is truncated.
You may see a Symbol Path Truncated warning dialog in some rare circumstances.
This dialog is displayed when the symbol path that has been calculated to pass to DbgHelp.dll to load Microsoft debugging symbols (found in .PDB files) is too long.
If the symbol path has been truncated because it is too long it is possible this may mean that some symbol searches will fail, resulting in failure to load some symbols. We display this dialog so that you are aware that the symbol path is too long and would benefit from editing to make the symbol path shorter.
Passing a symbol path that is too long to DbgHelp.dll will cause the program being tested to end with an EXCEPTION_INVALID_CRUNTIME_PARAMETER C runtime error. This happens because internally DbgHelp.dll is using a fixed length array to format a string. To prevent this fatal termination of the test program we limit the length of the path passed to DbgHelp.dll.
Typically if a path that is long enough to cause this problem is passed to DbgHelp it's because the number of paths in the calculated path contain paths not relevant to finding symbols for the test program. We use the Symbol Path Truncated warning dialog to show you the calculated paths so that you can work out which paths to delete.
The calculated symbol paths come from several places:
•File locations PDB paths
•Symbol server symbol storage directories
•Symbol handling environment variables
For this example, we are testing the program E:\om\c\3RD_SRC\cdplayer\Release\cdplayer.exe
1.Looking at the environment variable settings shows that none of the environment variables are being used. We do not need to consider the content of these environment variables.
2.Examining the symbol servers shows that C:\Users\Admin is a local symbol storage location. We should keep this path.
3.We should delete the path that doesn't exist: E:\om\c\testApps\testStdinStdoutRedirectEx\Release. We do this using the file locations dialog by clicking Edit Symbol Paths... then click Delete invalid.
4.Examining the paths in the file locations dialog we can identify any paths not relevant to the program we are testing. In this case the following paths are not relevant and can be deleted.