delphi-xe2windows-7-x6432-bitregistry-virtualization

How to make Delphi applic debugged see the REAL registry - and not the virtual one


Background:

I'm developing an windows service and using the registry to get the parameters (using the key Parameters below the service entry).

Delphi is installed as an AppWave app (long story I cannot tell here) and therefore when debugging it goes to an virtualized copy [1] instead of the real deal [2].

I detected that after going logging registry activity of the service using Process Monitor. If I run the service outside Delphi, the application access the real key normally.

Question: there's some way to circunvent Streaming Core and debug the app accessing the real registry key?

Note to mods: since there's no AppWave tag, I could not include it - I tried.

  1. Virtualized copy: HKEY_LOCAL_MACHINE\software\Embarcadero\StreamingCore\Profiles\fabricio\Applications\{<<GUID>>}\Virtualization\Keys\whklm\SYSTEM\CurrentControlSet\services\[service]\Parameters]
  2. Real deal: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\[service]\Parameters

Solution

  • I didn't found an way. The remote debugger approach - suggested by Remy's answer - when used on the same machine ended affected by the StreamingCore service.

    So the approach used is logging to do the debugging. For that, used CodeSite Express (which is very handy and included in Delphi) to do the logging.