2017-08-29 17 views
3

在我的基于asyncio和asyncio tcp连接来调试PyCharm调试器的项目中,我得到了非常非常非常荒谬的错误。在PyCharm中调试异步代码导致绝对疯狂的不可重复的错误

如果我在运行后在代码上放置断点,断点永远不会触发。 但是,如果在启动程序之前放置了断点,断点将会触发。

但在某些情况下,断点触发会导致奇怪的错误(如果在断点处暂停并恢复)。

下一个例外我说:

  1. 类型错误: '协程' 对象不可调用的
  2. 关于SystemError:未知的操作码

第一个例外是非常罕见的。可以在任何地方提出代码并且不可重复。 第二个例外,我最近第一次评论。这在我的代码中是可重复的。我放置断点的功能在异步任务中起作用(asyncio.Task)。我不能从头开始重复。但我认为这种异常类型(未知操作码??? O_O)应该让你思考。 此外!如果我更改代码,该例外消失:例如,我添加了a = 0一行。例外后没有提出。删除a = 0将再次返回此异常。

这是一种深奥的错误吗?

我认为PyCharm调试器与asnycio冲突。 或者我做错了什么?


未知的操作码可以是放置断点的函数中的任何代码行。在代码中的特定位置重复。 unknown opcode


此异常也可在其行,而且另一个函数里面。非常难得且不可重复的 enter image description here

回答