<\/p>\n\r
Coverage Validator attaches to a running process by injecting the stub<\/a> into the process so it can start collecting data.<\/p>\n\r <\/p>\n\r Choose one of these methods of starting the injection:<\/p>\n\r <\/p>\n\r <\/p>\n\r Or click on the Inject icon on the session toolbar.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r Or use the shortcut<\/p>\n\r <\/p>\n\r Inject into running application<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The following applies only if you did not<\/span> start Coverage Validator in administrator mode.<\/p>\n\r <\/p>\n\r When choosing the inject method, a restart with administrator privileges will be required to proceed.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r If your process is a service, Coverage Validator won\'t be able to attach to it.<\/p>\n\r <\/p>\n\r Services can\'t have process handles opened by third party applications, even with Administrator privileges.<\/p>\n\r <\/p>\n\r In order to work with services, you can use the NT service API<\/a> and monitor the service<\/a><\/p>\n\r <\/p>\n\r You may see this warning dialog when trying to inject into a service:<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r There are two interface modes<\/a> used while starting a program<\/p>\n\r <\/p>\n\r •<\/span>Wizard<\/span> mode guides you through the tasks in a linear fashion <\/span> •<\/span>Dialog<\/span> mode <\/span>has all options contained in a single dialog All the options are the same - just in slightly different places<\/p>\n\r <\/p>\n\r In this section we\'ll cover the Wizard mode first and the Dialog mode<\/a> later.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The first page of the wizard shows a list of running system and user processes.<\/p>\n\r <\/p>\n\r The Arch<\/span> column is not shown when running 32 bit Coverage Validator because only 32 bit processes are listed.<\/p>\n\r <\/p>\n\r Any processes that have grayed out .Net<\/span> values cannot instrument the .Net part of the application (native components will be instrumented).<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r Choose the process and click Next >><\/span> for the next page of the wizard.<\/p>\n\r <\/p>\n\r <\/p>\n\r •<\/span>System processes \/ Services \/ User processes <\/span> show any or all of services and system or user processes in the list <\/span><\/p> <\/p>\n\r •<\/span>Full path<\/span> shows the full path to the process executable in the list <\/span> •<\/span>Image Name<\/span> shows the short program name without path <\/span><\/p> <\/span><\/p>\n\r •<\/span>Refresh<\/span> update the list with currently running processes <\/span><\/p> <\/span><\/p>\n\r Clicking on the headers of the list will sort them by ID or by name using the full name or short name, depending on what\'s displayed.<\/p>\n\r <\/p>\n\r <\/p>\n\r Depending on your application, and what you want to test, you may want to start collecting data as soon as injection happens, or do it later.<\/p>\n\r <\/p>\n\r If your program has a complex start-up procedure, initialising lots of data, it may be much faster not<\/span> to collect data until the program has launched. <\/p>\n\r <\/p>\n\r If it\'s the startup procedure you want to test, then obviously start collecting data from launch.<\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r Currently we only support attaching to native applications and the native part of mixed mode applications. <\/span><\/p>\n\r <\/p>\n\r <\/p>\n\r <\/p>\n\r The second page confirms the process you have selected to inject into, and prompts you to attach: <\/p>\n\r <\/p>\n\r •<\/span>Attach...<\/span> injects Coverage Validator into the specified process, showing progress status <\/span><\/p> <\/p>\n\r <\/p>\n\r <\/p>\n\r File<\/span> menu Inject...<\/span> shows the Attach to Running Process wizard or dialog<\/a> below <\/span><\/h1>\n\r
<\/a>Administrator privileges<\/span><\/h1>\n\r
<\/a>Injecting into a service?<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
<\/a>User interface mode<\/span><\/h1>\n\r
\n\r <\/span><\/p>
\n\r <\/p><\/a>The attach to running process wizard<\/span><\/h1>\n\r
Page 1: Choosing the process<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
\n\r <\/span><\/p>Page 2: Data collection<\/span><\/h1>\n\r
<\/span><\/h1>\n\r
See the section on controlling data collection<\/a> for how to turn collection on and off after launch. <\/h1>\n\r
<\/span><\/h1>\n\r
The data collection option may be disabled because of the instrumentation mode that is selected<\/a>.<\/h1>\n\r
<\/span><\/h1>\n\r
Summary and starting your program<\/span><\/h1>\n\r
In the general questions<\/a> see Why might Inject or Launch fail?<\/span> for troubleshooting launch problems. <\/h1>\n\r
<\/span><\/h1>\n\r
<\/a>Dialog mode<\/span><\/h1>\n\r