Configuring AAV's Suspend and Detach Mode

Save to PDF

Applies to: AppAcceleratorV.dll 4.5.1810.22916

30/09/2022 Cliff Hobbs   ID: 348226

Sometimes it is hard to diagnose application faults or problems occurring early in an application's startup sequence, as there is insufficient time to attach a debugger to the process before an error occurs.

Cloudhouse's AppAcceleratorV (AAV) Suspend and Detach mode can help debug a crashing application running in a Cloudhouse Alchemy Compatibility Package (formerly known as a Cloudhouse Compatibility Container™).

Suspend and Detach mode can be enabled for an application process. Once the application has started, AAV immediately detaches, allowing you to attach a debugger such as WinDbg to the application process. 

The following configurations are possible, as detailed below:

Process to configure these configurations

  1. Navigate to the Compatibility Package folder.
  2. Edit the AppAcceleratorV.clc in a text editor such as NotePad++
  3. Add the relevant entries for the required configuration to this file.
  4. Save the file.

Suspending a Process

To suspend a process, add the following entries replacing someprocess.exe with the name of the process you want to suspend.  In this example, when someprocess.exe runs under AAV, the process will be hooked, suspended, and then AAV will detach and exit logging a message.

<Detaches>
   <Detach Suspend=”true”>someprocess.exe</Detach>
</Detaches>

Unsuspending a Process

To unsuspend a process, add the following entries replacing someapp.exe with the name of the process you want to unsuspend.  In this example, when the AAV process is started, the someapp.exe process will be hooked, and AAV will be detached.

<Detaches>
  <Detach Suspend=”false”>someapp.exe</Detach>
</Detaches>
<Exe>someapp.exe</exe>

Suspending a Child Process

To suspend a child process, add the following entries replacing somechildprocess.exe with the name of the child process you want to suspend.  In this example, when AAV runs and you launch somechildprocess.exe from someapp.exe, the child process will be hooked and suspended before AAV is detached from the child process and a message logged to the child process' log; someapp.exe will continue to run under AAV.

<Detaches>
  <Detach Suspend=”true”>somechildprocess.exe</Detach>
</Detaches>
<Exe>someapp.exe</Exe>

Detaching a Process

To detach a process, add the following entries replacing someapp.exe with the name of the process you want to detach.  In this example, when AAV starts, the someapp.exe process will be hooked, and AAV will be detached.

<Detaches>
   <Detach>someapp.exe</Detach>
   </Detaches>
<Exe>someapp.exe</exe>

Resuming Suspended Processes

To resume a suspended process, use ProcessHacker or WinDbg to restart the application process suspended by AAV.

Source:
Was this article helpful?

Table of Contents

    Can't find what you're looking for?

    Contact Support