2009-07-05 78 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

相關問題