2

単純な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)

OS:Ubuntu 32 9.04

gdb:GNU gdb 6.8-debian

日食:20090619-0625

gdbは私のパスにあり、ターミナルから実行可能です。

また、「elf」と「GNU」の両方のバイナリパーサーを使用してみましたが、役に立ちませんでした。

誰かアイデアはありますか?

アシュリー

4

1 に答える 1

2

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);
        }

つまり、どういうわけか、あなたがこの段階にいるとき、おそらく悪い議論のために、プロセスはすでにいくつかのエラーを生成しています。

于 2009-07-05T08:30:30.973 に答える