class_docstr: The debugger interface.
  
  This class handles the drawing of the debugger window and
  the interactions with the underlying debugger session.
docstr: Instantiate and draw a debugger window.
  
  :param pyshell: An instance of the PyShell Window
  :type  pyshell: :class:`idlelib.pyshell.PyShell`
  
  :param idb: An instance of the IDLE debugger (optional)
  :type  idb: :class:`idlelib.debugger.Idb`
docstr_tok: ["Instantiate","and","draw","a","debugger","window",".",":","param","pyshell",":","An","instance","of","the","PyShell","Window",":","type","pyshell",":",":","class",":","`","idlelib.pyshell.PyShell","`",":","param","idb",":","An","instance","of","the","IDLE","debugger","(","optional",")",":","type","idb",":",":","class",":","`","idlelib.debugger.Idb","`"]
code: def __init__(self, pyshell, idb=None):
      """Instantiate and draw a debugger window.
  
      :param pyshell: An instance of the PyShell Window
      :type  pyshell: :class:`idlelib.pyshell.PyShell`
  
      :param idb: An instance of the IDLE debugger (optional)
      :type  idb: :class:`idlelib.debugger.Idb`
      """
      if idb is None:
          idb = Idb(self)
      self.pyshell = pyshell
      self.idb = idb  # If passed, a proxy of remote instance.
      self.frame = None
      self.make_gui()
      self.interacting = False
      self.nesting_level = 0
  
imports: import bdb
  import os
  from tkinter import *
  from tkinter.ttk import Frame, Scrollbar
  from idlelib import macosx
  from idlelib.scrolledlist import ScrolledList
  from idlelib.window import ListedToplevel
label_desc: Use image node_id 1 to create a new Debugger object  with example: obj = Debugger(pyshell, idb)