gleb-sevruk / pycrunch-engine

NCrunch inspired tool for continuous testing Python
https://pycrunch.com
Other
57 stars 8 forks source link

Unable to debug with PyCrunch from PyCharm #71

Open dweights opened 2 years ago

dweights commented 2 years ago

Hi,

When I select a test and try to launch the debugger from the PyCrunch menu I get an error. I have no problem running the tests normally using PyCrunch and I can debug the tests using the standard debugger.

I am using:

I have tried with clean python 3.8 and python 3.9 code envs, both with the pycrunch-engine installed.

It looks like some sort of configuration issue. I get the following stack trace when I select a test and try to debug...

java.lang.NoClassDefFoundError: com/jetbrains/python/debugger/remote/PyRemoteDebugConfigurationType at com.gleb.pycrunch.debugging.PyRemoteDebugState.create_run_configuration_for_project(PyRemoteDebugState.java:31) at com.gleb.pycrunch.debugging.PyRemoteDebugState.build_configuration_and_run_debugger(PyRemoteDebugState.java:20) at com.gleb.pycrunch.PycrunchConnector.DebugTests(PycrunchConnector.java:200) at com.gleb.pycrunch.PycrunchToolWindow.debug_selected(PycrunchToolWindow.java:437) at com.gleb.pycrunch.PycrunchToolWindow$5.debugSelectedTests(PycrunchToolWindow.java:276) at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:639) at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:617) at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:417) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:391) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:373) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:34) at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:180) at com.sun.proxy.$Proxy148.debugSelectedTests(Unknown Source) at com.gleb.pycrunch.actions.toolbarActions.DebugSelectedTests.actionPerformed(DebugSelectedTests.java:15) at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:182) at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$0(ActionButton.java:158) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:256) at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:158) at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:464) at java.desktop/java.awt.Component.processEvent(Component.java:6419) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2793) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:743) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:119) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92) Caused by: java.lang.ClassNotFoundException: com.jetbrains.python.debugger.remote.PyRemoteDebugConfigurationType PluginClassLoader(plugin=PluginDescriptor(name=PyCrunch - Live Testing, id=com.pycrunch.intellijconnector, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\PyCharmCE2022.1\plugins\pycrunch-intellij-connector, version=1.2.2, package=null, isBundled=false), packagePrefix=null, instanceId=47, state=active) at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:215) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 58 more

Thanks

gleb-sevruk commented 2 years ago

Hello.

  1. What is the edition of your Pycharm: Professional or Community?
  2. What happens if you try to Run remote debugger process from top menu? image
  3. What is your operating system?

I just tried to do the same thing in my 2022.1.1 (macos) and it worked

image
dweights commented 2 years ago

Hi,

Thanks for the quick response.

  1. I am using PyCharm community edition

image

  1. If I run the remote debugger from the menu I get the same issue...

image

java.lang.NoClassDefFoundError: com/jetbrains/python/debugger/remote/PyRemoteDebugConfigurationType at com.gleb.pycrunch.debugging.PyRemoteDebugState.create_run_configuration_for_project(PyRemoteDebugState.java:31) at com.gleb.pycrunch.debugging.PyRemoteDebugState.build_configuration_and_run_debugger(PyRemoteDebugState.java:20) at com.gleb.pycrunch.PycrunchConnector.DebugTests(PycrunchConnector.java:200) at com.gleb.pycrunch.PycrunchToolWindow.debug_selected(PycrunchToolWindow.java:437) at com.gleb.pycrunch.PycrunchToolWindow$5.debugSelectedTests(PycrunchToolWindow.java:276) at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:639) at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:617) at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:417) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:391) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:373) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:34) at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:180) at com.sun.proxy.$Proxy152.debugSelectedTests(Unknown Source) at com.gleb.pycrunch.actions.toolbarActions.DebugSelectedTests.actionPerformed(DebugSelectedTests.java:15) at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:182) at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$0(ActionButton.java:158) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:256) at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:158) at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:464) at java.desktop/java.awt.Component.processEvent(Component.java:6419) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2793) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:743) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:119) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

  1. My operating system is Windows 10 image

Thanks