I wrote a simple VCL win32 application that has the following code:
procedure TForm5.Button1Click(Sender: TObject);
begin
ShowMessage('bingo');
end;
I compiled the application with runtime packages and has turn on the following switches:
- Debug Information -> true
- Include remote debug symbol -> true
- Assertion, debug information, local smbols, use debug dcus -> true
The output has the following files:
- Project1.exe
- project1.rsm
The two runtime packages are:
- vcl160.bpl
- rtl160.bpl
I set a break point in Button1Click handler, the local IDE debugger will stop there if I run the application in debugger mode.
Next, I want to try remote debug the application with runtime packages.
I assign remote profile to the 32-bits windows platform. The test connection works with the remote profile. PAServer was started too in remote machine. I can notice 4 files were copied to remote machine when attempt to run the application with Delphi XE2 IDE debugger:
- Project1.exe
- project1.rsm
- vcl160.bpl
- rtl160.bpl
However, the event log shows:
Module Load: Project1.exe. No Debug Info. Base Address: $00400000. Process Project1.exe (1676)
As the module doesn't has debug info, all breakpoint will fail to trigger.
I have tried build single file .exe application without runtime packages. The same remote debugger steps work and I can debug application remotely.
What has make the remote debugging fail with application built with runtime packages?