我想使Eclipse啓動配置,我可以以編程方式啓動,如果你喜歡建立一個自定義調試器。如何使Eclipse調試啓動器啓動一個類
我已經有org.eclipse.debug.core.launchConfigurationTypes
擴展名,以及.core.launchDelegates
,.ui.launchConfigurationTabGroups
和.core.sourcePathComputers
擴展名。
我有一個按鈕,執行以下代碼:
ILaunchManager mgr = DebugPlugin.getDefault().getLaunchManager();
ILaunchConfigurationType lct = mgr.getLaunchConfigurationType(IOpcodeConstants.LAUNCH_CFG_TYPE);
ILaunchConfiguration[] lcs = mgr.getLaunchConfigurations(lct);
for (int i = 0; i < lcs.length; ++i) {
if (lcs[i].getName().equals("Opcode")) {
lcs[i].delete();
break;
}
}
ILaunchConfigurationWorkingCopy wc = lct.newInstance(null, "Opcode");
Set<String> modes = new HashSet<String>();
modes.add(ILaunchManager.DEBUG_MODE);
wc.setModes(modes);
wc.setPreferredLaunchDelegate(modes, "nz.net.fantail.studio.OpcodeLaunchDelegate");
ILaunchConfiguration lc = wc.doSave();
lc.launch(ILaunchManager.DEBUG_MODE, null);
我推出委託具有下面的代碼:
@Override
public void launch(ILaunchConfiguration configuration, String mode,
ILaunch launch, IProgressMonitor monitor) throws CoreException {
ManagementClient client = new ManagementClient("localhost", 6961);
if (mode.equals(ILaunchManager.DEBUG_MODE)) {
IDebugTarget target = new OpcodeDebugTarget(launch, client);
launch.addDebugTarget(target);
}
}
一切工作完全正常,直到得到嘗試加載ManagementClient類並拋出一個NoSuchClassDefException。我懷疑這是因爲它在與實際應用程序不同的環境中啓動,因此它的類路徑中沒有帶類的.jar。
有誰知道如何解決這個問題?乾杯!
嘿,謝謝!它是無法找到的ManagementClient類。雖然我似乎沒有IJavaLaunchConfigurationConstants,但我會盡快查看,可能只是沒有在源路徑中插入它。乾杯! – 2009-12-07 20:54:05