2009-07-05 41 views
2

尝试调试简单的C++应用程序时,收到了一个相当神秘的错误。尝试使用Eclipse/CDT&gdb调试应用程序时出现“创建会话时出错”

消息: “错误创建会话”

堆栈跟踪:

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'二进制解析器无济于事。

任何想法的人?

阿什利

回答

2

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

含义,可能是由于恶劣的论点。

+0

谢谢你挖掘源! 我只是试图再次调试(重启后) - 没有问题! 亲爱的哦,亲爱的。 – 2009-07-05 09:44:32

相关问题