Closed paulvi closed 9 years ago
The simplest way to reproduce is 1 line script justlog.js
:
console.log("just console.log");
It will not produce output in Eclipse Console.
I have spent some time debugging org.nodeclipse.debug.launch.LaunchConfigurationDelegate.java
, that gave no direct result
Process p = DebugPlugin.exec(cmds, workingPath, envp);
RuntimeProcess process = (RuntimeProcess)DebugPlugin.newProcess(launch, p, Constants.PROCESS_MESSAGE); // no way to get private p.handle from java.lang.ProcessImpl
When debugging launch justlog.js, there is output; when running justlog.js in debugged Eclipse without breakpoints, once again there is output.
Then just searching "no output from launched process in Eclipse", lead me to
Indeed this is a race condition. As soon as monitored process has terminated, program closed pipes. The data consumer didn't not know about that and tried to read already closed streams (the data that had been not not grabbed yet, just was lost). This is an issue of the tandard streams control: the owner, not just spawner should be responsible for their closing.
Summary (is there output from justlog.js):
While recommendation will be to use Eclipse 32 versions, some more information is required from users on different environments (other OSes). Leave the issue open.
OK, at least with x64 bit JDK 1.8.0_05 on Windows 7, the issue does not appear
closing as not appearing in the latest JDK
Not all goes to Console View when app finishes.
Example (coffeescript)
In this snippet
debuglogger
getsundefined
value. In command line there is error, that is not displayed in Console ViewTypeError: Cannot call method 'log' of undefined at Object. (D:\Workspaces\workspace