Interactive console/Pydev console breaks completely on unhandled error - eclipse

Eclipse Neon (4.6) with PyDev 5.1.2.
Run any python script with Pydev, break on something, and start playing in the normal console or the Pydev Debug console associated with the running script.
If you cause an exception, e.g. type 'test' (without the quotes) to reference a non-existent variable, after the traceback is printed, the console is unusable - you give it a statement, it thinks for a bit and then returns with no result.
In the Eclipse status bar it says 'PyDev Debug Console...Communication' (middle part is omitted, can't get that part of the UI to be long enough to see), but nothing else - i.e. it looks like the debugger dies when the exception happens.
I have used Pydev on and off for years, this is not a new thing for me but it is time I ask about it - is this normal behaviour?
Thanks for any help.

The problem was solved by creating a new workspace, installing the usual plugins and configuring as normal - suddenly the ipython session can cope with errors it raises.

Related

Eclipse PyDev - Python stops when trying to run in debug mode

After upgrading to Python 3.6, Eclipse debug mode stopped working properly. It renders an error like this:
The strangest thing is that this issue does not raise in 100% of cases. Sometimes it goes away. And then again arises. I am lost trying to figure out why.
Although it happens when you're running the PyDev debugger, the debugger is probably only exercising some path in your code which has a bug and is usually not exercised (and thus leads to such an error).
In this case, attach a c/c++ debugger to the program to find the culprit (you can use the attach to after that error is hit)... On Windows you can use Visual C++ and on Linux GDB.
-- as a note, the issue is probably on some c/c++ library you're using (but given the info, it's really hard to pinpoint anything).

Error message failure and crash when using pydev embedded jython interpreter

I have a strange problem when using Pydev on my work machine (others at work have the same issue). It does not occur when I do this at home, which makes me think it's something to do with the environment at work. We are running Windows 7.
I am using Pydev 3.9.2 but the same thing happens with earlier versions. It occurs with all versions of Eclipse after 3.7. The problem is this. When I create a jython console (the one running in the Eclipse VM), the error output doesn't work. If I type an invalid python command, there is no output on the console. It just appears that the command worked. If I type a command such as "print 100", the output prints as you would expect.
The second problem is that if I hit the red square which is supposed to remove the console window, Eclipse crashes. There are no errors or any indication of what is going wrong.
I have tried different versons of eclipse, different versions of Pydev, different machines and it doesnt make any difference.
Has anyone seen this? I've tried everything I can think of to debug this issue so any help is appreciated.
thanks,
brian
Unfortunately those quirks are expected...
The internal console in Eclipse is mostly a developers SDK for experimenting with Eclipse itself and is not meant as a general shell (you should configure an interpreter and use it for that).
I don't have plans on improving on that situation (there's already a multi-year backlog on PyDev and this isn't really critical), but if you'd be willing to spend some time and fix those issues, pull requests would be definitely welcome -- see: http://pydev.org/manual.html for details on getting the code and setting up the environment.

Eclipse exits when closing Jython Eclipse console

I am using Eclipse 4.4 and Pydev 3.7.
When I create the console type "jython using VM running eclipse console" and then close the console, Eclipse exits. I don't see any errors or messages, it just shuts down. Is this the expected behavior? I don't recall seeing it work this way before. This doesn't happen with the Jython or Python consoles.
Is anybody else seeing this?
Yes it happens to me too when I close it except I do get an error message :
If I were you I wouldn't worry about it too much. For consoles I prefer using the command prompt instead.

No Java console output in Eclipse; works with PyDev

I have both a Java and a PyDev project in one workspace. When I run the PyDev project (either the main script with Run > Run As > Python Run or its associated unit test with Python unit-test), the console output looks fine. However, when I switch to the Java project, open the main class, make sure the cursor focus is in the main class, and run it with Run > Run as > [my run config], no output shows up in the console, stdout or stderr. I've tried with Run/Debug > Console > Fixed width console checked and unchecked, similarly for Limit console output. "Allocate console" is check in [my run config].
I have tried redirecting output to a file in my run configuration, but the log file is empty after a run; thus, I suspect stdout/stderr are being trapped somewhere. I suspect that it is PyDev causing the issue because when I run the Java project, this exception reliably shows up about 6 times in the error log:
Launch shortcut 'org.python.pydev.debug.ui.launchShortcut.python.unittest' enablement expression caused exception. Shortcut was removed.
stacktrace:
org.eclipse.core.runtime.CoreException: No property tester contributes a property org.python.pydev.debug.ui.python_type to type class org.eclipse.ui.part.FileEditorInput
at org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:123)
at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:96)
at org.eclipse.core.internal.expressions.CompositeExpression.evaluateOr(CompositeExpression.java:68)
at org.eclipse.core.internal.expressions.OrExpression.evaluate(OrExpression.java:21)
at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53)
at org.eclipse.core.internal.expressions.AndExpression.evaluate(AndExpression.java:29)
(... and so on)
Additionally, printing from a Java program in a different workspace that only has Java projects works fine.
I tried uninstalling PyDev and restarting Eclipse, but I'm still having the same issue. I still have those errors after reinstalling PyDev, too.
Has anyone run into this issue before, or know of a way to fix it?
Well, I feel like an idiot; turns out, I had redirected stdout/err to a log file that I had long since forgotten about, and stuck somewhere difficult to find.
I ran into the same problem so I did some research. Seems like there was an old issue (2006-2008), but it was resolved by adding an option to the launch configurations to allocate a console. This is available from the Run -> Debug Configurations menu option, Common tab. Perhaps this is simply unchecked after the PyDev install?
If this is a new bug, there were two possible workarounds suggested:
Set up debug launch configuration that uses remote debugging instead of local debugging.
Use a buffered writer to System.out.
Here are the threads for reference:
Eclipse bug - https://bugs.eclipse.org/bugs/show_bug.cgi?id=122429
Workaround thread - java.io.Console support in Eclipse IDE

Strange behaviour of created *.exe

Has anyone any idea why the resulting exe from a build comes with a console?
I've built an EXE and it shows up with the window it should (the right one), and a console window (the left one - obviously).
alt text http://img216.imageshack.us/img216/570/strangep.jpg
This behaviour is the same for the debug - exe and the release - exe.
When I start it from Eclipse the console window does not show up.
(Eclipse Galileo / MinGW / C)
Find the linker settings, and add the -mwindows switch.
you might look into this here surely answers why Eclipse is not opening your console window
There seems to be no way to get a java.io.Console object when running an application through Eclipse. A command-line console window is not opened with the application, as it is run as a background process (background to Eclipse?). Currently, there is no Eclipse plugin to handle this issue, mainly due to the fact that java.io.Console is a final class.
All you can really do is test the returned Console object for null and proceed from there.
as far as your console window popping is concerned, you might be using System.console in the application
Hope this Helps