【问题标题】:"Error creating session" when attempting to debug application with Eclipse/CDT & gdb尝试使用 Eclipse/CDT 和 gdb 调试应用程序时出现“创建会话时出错”
【发布时间】:2010-11-08 04:09:15
【问题描述】:

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

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

堆栈跟踪:

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)

操作系统:Ubuntu 32 9.04

gdb:GNU gdb 6.8-debian

日食:20090619-0625

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

我也尝试过同时使用“elf”和“GNU”二进制解析器,但均无济于事。

有什么想法吗?

阿什利

【问题讨论】:

    标签: eclipse debugging gdb eclipse-cdt


    【解决方案1】:

    没有太多想法,除了看source code of 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);
            }
    

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

    【讨论】:

    • 感谢您挖掘源代码!我只是再次尝试调试(重新启动后)-没问题!亲爱的,亲爱的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 2015-11-12
    • 2013-09-07
    • 1970-01-01
    相关资源
    最近更新 更多