调试器在VSCode中的断点之前停止

问题描述

我完全是VSCode菜鸟,所以请多多包涵。我正在尝试调试其他人提供给我的代码库。在当前状态下运行代码会在第921行抛出 let node = audioEngine.inputNode let recordingFormat = node.outputFormat(forBus: 0) node.installTap(onBus: 0,bufferSize: 1024,format: recordingFormat) { buffer,_ in self.request.append(buffer) } audioEngine.prepare() do { try audioEngine.start() } catch { print("There has been an audio engine error.") return print(error) } guard let myRecognizer = SFSpeechRecognizer() else { print("Speech recognition is not supported for your current locale.") return } if !myRecognizer.isAvailable { print("Speech recognition is not currently available. Check back at a later time.") // Recognizer is not available right Now self.delegate?.speechToTextFailed("Speech recognition is not currently available. Check back at a later time.") return } self.onCheckSupportedSpeechToTextLanguage(kUserDefaults?.value(forKey: kChoosedLang) as! String) sttTimer = Timer.scheduledTimer(withTimeInterval: 0.1,repeats: true,block: { (timer) in }) recognitionTask = speechRecognizer?.recognitionTask(with: request,resultHandler: { result,error in if let result = result { let bestString = result.bestTranscription.formattedString var lastString: String = "" for segment in result.bestTranscription.segments { let indexTo = bestString.index(bestString.startIndex,offsetBy: segment.substringRange.location) lastString = String(bestString[indexTo...]) } print(" bestString : \(bestString)") self.delegate?.speechToTextConvertedText(self.prevIoUsstring,bestString) self.prevIoUsstring = bestString } else if let error = error { print("There has been a speech recognition error.") print(error) self.delegate?.speechToTextFailed("There has been a speech recognition error.") } }) 。我在此行中放置了一个断点,然后尝试重新运行代码以进行调试。调试器不会在921行停止,而是在919行停止。它仍然抛出TypeError,但指向919行。

以下是我所做的一些观察:

  • 此特定运行实际上未覆盖调试器停止的行。
  • 如果我将断点放在另一行(第919行),调试器实际上将跳过它,并在导致TypeError的行(第921行)处停止
  • 在第921行以外的任何覆盖行上放置一个断点会导致调试器按预期在该断点处停止。

来自Pycharm,我希望调试器在921行停止。为什么它在另一行停止?

如果您希望我提供其他信息,请告诉我。

编辑

似乎在“ BREAKPOINTS”设置中选中“引发异常”选项会使调试器在右行停止(第921行):

enter image description here

有人知道此选项的含义吗?它是VSCode核心功能的一部分还是python扩展的一部分?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)