在我的基於asyncio和asyncio tcp連接來調試PyCharm調試器的項目中,我得到了非常非常非常荒謬的錯誤。在PyCharm中調試異步代碼導致絕對瘋狂的不可重複的錯誤
如果我在運行後在代碼上放置斷點,斷點永遠不會觸發。 但是,如果在啓動程序之前放置了斷點,斷點將會觸發。
但在某些情況下,斷點觸發會導致奇怪的錯誤(如果在斷點處暫停並恢復)。
下一個例外我說:
- 類型錯誤: '協程' 對象不可調用的
- 關於SystemError:未知的操作碼
第一個例外是非常罕見的。可以在任何地方提出代碼並且不可重複。 第二個例外,我最近第一次評論。這在我的代碼中是可重複的。我放置斷點的功能在異步任務中起作用(asyncio.Task
)。我不能從頭開始重複。但我認爲這種異常類型(未知操作碼??? O_O)應該讓你思考。 此外!如果我更改代碼,該例外消失:例如,我添加了a = 0
一行。例外後沒有提出。刪除a = 0
將再次返回此異常。
這是一種深奧的錯誤嗎?
我認爲PyCharm調試器與asnycio衝突。 或者我做錯了什麼?
未知的操作碼可以是放置斷點的函數中的任何代碼行。在代碼中的特定位置重複。