class_docstr: The debugger class.
class_docstr_tok: ["The","debugger","class","."]
docstr: Initialize the debugger.
docstr_tok: ["Initialize","the","debugger","."]
code: def __init__(
      self,
      log,
      debugpy_stream,
      event_callback,
      shell_socket,
      session,
      just_my_code=True,
  ):
      """Initialize the debugger."""
      self.log = log
      self.debugpy_client = DebugpyClient(
          log, debugpy_stream, self._handle_event
      )
      self.shell_socket = shell_socket
      self.session = session
      self.is_started = False
      self.event_callback = event_callback
      self.just_my_code = just_my_code
      self.stopped_queue: Queue[t.Any] = Queue()
  
      self.started_debug_handlers = {}
      for msg_type in Debugger.started_debug_msg_types:
          self.started_debug_handlers[msg_type] = getattr(
              self, msg_type
          )
  
      self.static_debug_handlers = {}
      for msg_type in Debugger.static_debug_msg_types:
          self.static_debug_handlers[msg_type] = getattr(self, msg_type)
  
      self.breakpoint_list = {}
      self.stopped_threads = set()
  
      self.debugpy_initialized = False
      self._removed_cleanup = {}
  
      self.debugpy_host = "127.0.0.1"
      self.debugpy_port = 0
      self.endpoint = None
  
      self.variable_explorer = VariableExplorer()
  
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 1 to create a new Debugger object  with example: obj = Debugger(log, debugpy_stream, event_callback, shell_socket, session, just_my_code)