尝试使用Eclipse / CDT和gdb调试应用程序时“创建会话时出错”

时间:2023-01-24 19:22:00

I'm receiving a rather cryptic error when attempting to debug a simple C++ application.

在尝试调试简单的C ++应用程序时,我收到了一个相当神秘的错误。

Message: "Error creating session"

消息:“创建会话时出错”

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 32 9.04

操作系统:Ubuntu 32 9.04

gdb: GNU gdb 6.8-debian

gdb:GNU gdb 6.8-debian

eclipse: 20090619-0625

gdb is in my path and is executable from the terminal.

gdb在我的路径中,可以从终端执行。

I've also tried using both the 'elf' and 'GNU' binary parsers to no avail.

我也试过使用'elf'和'GNU'二进制解析器都无济于事。

Any ideas anyone?

任何人的想法?

ashley

1 个解决方案

#1


Not much ideas, except looking at the source code of MSISession:

除了查看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);
        }

Meaning that somehow, when you are at this stage, the Process has already produced some errors, probably due to bad arguments.

意味着不知何故,当你处于这个阶段时,进程已经产生了一些错误,可能是由于错误的参数。

#1


Not much ideas, except looking at the source code of MSISession:

除了查看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);
        }

Meaning that somehow, when you are at this stage, the Process has already produced some errors, probably due to bad arguments.

意味着不知何故,当你处于这个阶段时,进程已经产生了一些错误,可能是由于错误的参数。