|
Select Projects, Directories and Files
Start Setup Trace Scope Dialog by clicking
the Setup Trace Scope button. If you have big solution with tens of projects, thousands
of files, it may take a few second before you see the dialog comes up. It just takes
time to retrieve the whole solution hierarchy information. This information will
be cached for later use until the solution hierarchy has changed.
On the left upper side the dialog, there is a tree
view to hold the structure of the currently open solution. If there is no solution
open, the tree view is empty. You can use add module button to add modules (projects).
Right click a module node, you can add directories, and files to the module. Currently,
only C++ projects and C++ source files are recognized. .NET project and C#, VB
source files will not show
up, and can not be traced.
You can include/exclude projects, directories, files by check/uncheck them at
any of the levels.
Select Module Files
Select a module in the tree view. A module
is one binary file as part of the execution. It can be a DLL or EXE, usually the project
output. The default value is macro $(ProjectOutputFile), which
will be translated to the project output file based on your project settings. User
may choose a different file path if the default is not applicable.
Include/Exclude Functions
Include/exclude
functions are setup in "Trace all functions except" section. This section applies
to all levels of project hierarchy, and it is inheritable. Default is "Inherit from
parent node", meaning if setup exceptions list on project level, all of its children
will get the same by default, unless they have their own. Uncheck "Inherit
from parent node" option make the textbox editable. The text should include a function
list (function names separated by ",", ";", space, tab, line return). These functions
will be ignored from instrumentation and trace.
Rules for function names:
1. Function names only, no parameters or brackets are necessary. Parameters and
brackets will be ignored. That means, Debug Assistant can't tell function overloads.
func() and func(int i) are treated the same.
2. CSimpleTestDlg::GetSentence - function CSimpleTestDlg::GetSentence and all of
its overloads.
GetSentence - function CSimpleTestDlg::GetSentence(...), CSimpleTest::GetSentence(...),
and global function GetSentence(...);
3. ::GetSentence - only function GetSentence(...) in the global name space.
If you want to trace certain functions only, you can put them inside a pair of {}.
Anything else outside of {} has no effect. The following text in the exception textbox:
{CSimpleTestDlg::OnBnClickedThreads, CSimpleTestDlg::OnBnClickedChangeword} CSimpleTestDlg::SwapLetters,
GetSentence
means only two functions: CSimpleTestDlg::OnBnClickedThreads, CSimpleTestDlg::OnBnClickedChangeword
are traced, everything else is not traced.
Click Default Exceptions button shows a function list. This is a list of functions
that are not traced by default. Reason for that is to avoid a flood of trace result.
User usually doesn't need to trace those functions, however, user can uncheck some
of them to make them traced.
Alternate PDB Search Path
This applies to modules only, so it is greyed
out for other nodes. Generally, if pdb files have not moved to a different directory,
DLL or EXE should have information to find pdb files. In rare cases, you may need
to tell Debug Assistant where to find pdb files if they are not available at the
default place. Also, make sure you have build your project with debug information.
It is not required, but it is always suggested to switch your project to Debug build.
And check your project settings: C/C++->General->Debug information format,
make sure "Disabled" is not selected.
StartUp Program
Same as startup program in IDE, you need
to specify the full path of the startup program. Command line arguments can be input
as well.
|
Voice from our clients
"I am new in our large project. Debug Assistant realy helped
me big time.”
|