“Errore nella creazione sessione” quando si tenta di eseguire il debug dell'applicazione con Eclipse / CDT & gdb
-
23-08-2019 - |
Domanda
Sto ricevendo un errore di piuttosto criptico quando si tenta di eseguire il debug di una semplice applicazione C ++.
Messaggio: "Errore durante la creazione della sessione"
Stacktrace:
org.eclipse.cdt.debug.mi.core.MIException: Process Terminated
at org.eclipse.cdt.debug.mi.core.MISession.setup(MISession.java:232)
at org.eclipse.cdt.debug.mi.core.MISession.<init>(MISession.java:204)
at org.eclipse.cdt.debug.mi.core.MIPlugin.createMISession0(MIPlugin.java:135)
at org.eclipse.cdt.debug.mi.core.MIPlugin.createSession(MIPlugin.java:464)
at org.eclipse.cdt.debug.mi.core.AbstractGDBCDIDebugger.createGDBSession(AbstractGDBCDIDebugger.java:114)
at org.eclipse.cdt.debug.mi.core.AbstractGDBCDIDebugger.createSession(AbstractGDBCDIDebugger.java:68)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchDebugSession(LocalCDILaunchDelegate.java:343)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.createCDISession(LocalCDILaunchDelegate.java:468)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchLocalDebugSession(LocalCDILaunchDelegate.java:145)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchDebugger(LocalCDILaunchDelegate.java:112)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launch(LocalCDILaunchDelegate.java:72)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:866)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1069)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
OS: Ubuntu 9.04 32
gdb: GNU gdb 6.8-debian
Eclipse: 20090619-0625
gdb è nel mio percorso ed è eseguibile dal terminale.
Inoltre ho provato utilizzando sia il 'folletto' e 'GNU' parser binari senza alcun risultato.
Tutte le idee a qualcuno?
Ashley
Soluzione
Non molto idee, tranne che guardando il codice sorgente MSISession :
// The Process may have terminated earlier because
// of bad arguments etc .. check this here and bail out.
try {
process.exitValue();
InputStream err = process.getErrorStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(err));
String line = null;
try {
line = reader.readLine();
reader.close();
} catch (Exception e) {
// the reader may throw a NPE.
}
if (line == null) {
line = MIPlugin.getResourceString("src.MISession.Process_Terminated"); //$NON-NLS-1$
}
throw new MIException(line);
}
Il che significa che in qualche modo, quando si è in questa fase, il processo ha già prodotto alcuni errori, probabilmente a causa di cattive argomenti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow