class_docstr: The debugger class.
class_docstr_tok: ["The","debugger","class","."]
code: def _handle_event(self, msg):
      if msg["event"] == "stopped":
          if msg["body"]["allThreadsStopped"]:
              self.stopped_queue.put_nowait(msg)
              # Do not forward the event now, will be done in the handle_stopped_event
              return
          self.stopped_threads.add(msg["body"]["threadId"])
          self.event_callback(msg)
      elif msg["event"] == "continued":
          if msg["body"]["allThreadsContinued"]:
              self.stopped_threads = set()
          else:
              self.stopped_threads.remove(msg["body"]["threadId"])
          self.event_callback(msg)
      else:
          self.event_callback(msg)
  
imports: import os
  import re
  import sys
  import typing
  from pathlib import Path
  import zmq
  from IPython.core.getipython import get_ipython
  from IPython.core.inputtransformer2 import leading_empty_lines
  from tornado.locks import Event
  from tornado.queues import Queue
  from zmq.utils import jsonapi
  from .compiler import get_file_name, get_tmp_directory, get_tmp_hash_seed
label_desc: Use image node_id 2 for calling the Debugger obj's underlying member method code with example usage: obj._handle_event(msg) without return types