Community
Participate
Working Groups
Created attachment 219544 [details] modified PE perl script allow the PE JAXB to call additional debugger implementations
Created attachment 219545 [details] additional debugger perl script
Created attachment 219546 [details] updated PE JAXB XML
What's the purpose of the updated JAXB XML? Wasn't the plan to use the existing XML? The changes will cause an extra poe command to be passed to the run_pe_app.pl script which is likely to cause problems with non-debug launches.
Created attachment 219680 [details] JAXB XML which passes a couple extra environment variables removed the extra 'poe' invocation
Created attachment 219681 [details] updated perl script which uses environment rather than poe command matching perl script which uses the environment rather than keying off the 'poe' command
The way this now works is as follows: 1. The debugger sets the 'org.eclipse.ptp.launch.DEBUGGER_ID' attribute in the launch configuration (IPTPLaunchConfigurationConstants.DEBUGGER_ID) to something other than 'org.eclipse.ptp.debug.sdm'. This will normally be the case if you're using a different debugger extension or not using the standard debug tab at all. 2. The debugger sets the 'org.eclipse.ptp.launch.DEBUGGER_LAUNCHER' launch configuration attribute to the path of a launcher script. For the pardeb, this would be "${ptp_rm:ptpDirectory#value}/rms/PE/run_pe_app_pardeb.pl". So you would do something like: config.setAttribute("org.eclipse.ptp.launch.DEBUGGER_LAUNCHER", "${ptp_rm:ptpDirectory#value}/rms/PE/run_pe_app_pardeb.pl"); where config is an ILaunchConfigurationWorkingCopy. The path can be to any location, but the above path will default to the script provided with PTP. 3. PTP will translate the DEBUGGER_LAUNCH attribute to an environment variable called PTP_DEBUGGER_LAUNCHER and the run_pe_app.pl script will exec this script. Your launch configuration delegate would just need to do step #2 somewhere, probably in the performApply method. This has been committed to the master branch.