Skip to content

Alchemy Public

Workflow 2 min read View Markdown

Configure AAV's suspend and detach mode#

Sometimes it is hard to diagnose application faults or problems occurring early in an application's start up 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).

Applies to: Alchemy

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.