Profiling Multiple Processes

Applies to AQTime 8.81, last modified on January 18, 2022

One instance of AQTime can only profile one process. So, to profile several processes, you have to run several AQTime instances - one instance per process.

In general, profiling of multiple processes does not differ from profiling a single process. For each process you create a project, add the desired module(s) to it, specify areas, triggers, actions and other settings and then either start the process from AQTime or attach to the process using the Attach to Process feature. For instance, you can use the “Attach to Process” functionality, if one of the processes is started by another process. Note, however, that attaching requires time, so you will not be able to profile the startup code of the started process.

To solve this problem, you can modify the registry settings so that when the operating system gets a command to start a process, it automatically launches an AQTime instance, which you can then use to profile your application. To modify the registry settings:

  • Launch the Registry Editor (regedit).

  • Open the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options node.

  • Add a key for your application to this node:

    • Right-click the node and choose New > Key from the context menu. This will create a new key node under the Image File Execution Options node.

    • Right-click the new node and select Rename from the context menu.

      Change the key name to the name of your executable (for instance, MyApplication.exe). Only specify the file name and extension. The path is not needed.

  • Specify AQTime as a debugger for the application. To do this:

    • Right-click the new key node and select New > String Value from the context menu. This will append a new string value to the created key.

    • Switch to the right panel of the Registry Editor, right-click the string value’s node and choose Rename from the context menu.

      In the ensuing in-place editor, change the value name to debugger.

    • Right-click the value node again and select Modify from the context menu. This will call the Edit String dialog.

    • In the Value data box of the dialog, enter the fully qualified name of AQTime.exe, for instance, C:\Program Files\SmartBear\AQTime 8\Bin\AQTime.exe.

    • Click OK to save the changes and to close the dialog.

Now the operating system will launch AQTime every time your application starts.

Do not forget to remove the registry key, when the automatic start of AQTime is no longer needed.

If you need to enable or disable the automatic launch frequently, you can create two .reg files:

  • One of the files will include the Registry key and the debugger value with the path to AQTime:

    To create this file:

    1. Modify the registry as it was described above.

    2. Select the key in the tree view on the left of the Registry Editor.

    3. Choose File > Export from the editor’s main menu and specify the file name in the ensuing Export Registry File dialog.

  • Another file will store the Registry key and the debugger value, but it will not store the path to AQTime:

    To create this file:

    1. Modify the registry as it was described above.

    2. Clear the data of the debugger value.

    3. Export the key to a file by choosing File > Export from the main menu of the Registry Editor.

Now, when you need to enable or disable the automatic launch of AQTime for your application, you can execute one of the .reg files.

See Also

Profiling Various Applications and Code
Profiling Browser-Hosted Code

Highlight search results