Please enable JavaScript to view this site.

Memory Validator Help

Navigation: The User Interface > Starting your target program

Injecting into a running program

Scroll Prev Top Next More

 

 

Injecting into a running program

 

Memory Validator attaches to a running process by injecting the stub into the process so it can start collecting data.

 

Choose one of these methods of starting the injection:

 

menu Launch menu instructionStep Applications instructionStep Inject... instructionStep shows the Attach to Running Process wizard or dialog below

 

or click on the Inject icon on the session toolbar.

 

 toolbar-inject-program

 

or use the shortcut

 

 b_f3  Inject into running application

 

 

Injecting into a service?

 

If your process is a service, Memory Validator won't be able to attach to it.

 

Services can't have process handles opened by third party applications, even with Administrator privileges.

 

In order to work with services, you can use the NT service API and monitor the service

 

 

User interface mode

 

There are two interface modes used while starting a program

 

Wizard mode guides you through the tasks in a linear fashion
 

Dialog mode has all options contained in a single dialog
 

All the options are the same - just in slightly different places

 

In this section we'll cover the Wizard mode first and the Dialog mode later.

 

 

The attach to running process wizard

 

The first page of the wizard shows a list of running system and user processes.

 

The Arch column is not shown when running 32 bit Memory Validator because only 32 bit processes are listed.

 

Any processes that have grayed out .Net values cannot instrument the .Net part of the application (native components will be instrumented).

 

 

start-attach-wizard-processes

 

 

Choose the process and click Next >> for the next page of the wizard.

 

Page 1: Choosing the process

 

System processes / Services / User processes instructionStep show either of system or services or user processes in the list, or both

 
You can also choose a batch file and the first executable started in the batch file will be launched.

 

Full path instructionStep shows the full path to the process executable in the list
 

Image Name instructionStep shows the short program name without path

 

Refresh instructionStep update the list with currently running processes

 

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.

 

 

Page 2: Data collection

 

Depending on your application, and what you want to validate, you may want to start collecting data as soon as injection happens, or do it later.

 

If your program has a complex start-up procedure, initialising lots of data, it may be much faster not to collect data until the program has launched.

 

If it's the startup procedure you want to validate, obviously start collecting data from launch.

 

seeAlsoSee the section on controlling data collection for how to turn collection on and off after launch.

 

 

start-attach-wizard-collect

 

Currently we only support attaching to native applications and the native part of mixed mode applications.

 

 

Summary and starting your program

 

The second page confirms the process you have selected to inject into, and prompts you to attach:

 

Attach... instructionStep injects Memory Validator into the specified process, showing progress status

 

note If your program is linked statically to the C runtime libraries, you might want to read the topic before you start.

 

seeAlsoIn the general questions see Why might Inject or Launch fail? for troubleshooting launch problems.

 

 

 

Dialog mode

 

In Dialog mode, all the settings are in one dialog which looks very much like the first page of the wizard above.

 

The option to start collecting data is at the top, as is the Attach... button

 

start-attach-dialog