Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Combining Embedded and Interactive Python in a Debugger - A Case Study

EuroPython Conference via YouTube

Overview

Explore the integration of embedded and interactive Python in a debugger through this 52-minute EuroPython 2011 conference talk. Delve into the LLDB debugger, its library uses, and key components like targets, processes, breakpoints, frames, and stacks. Learn about desired GUI debugger behavior, the importance of scripting in debuggers, and LLDB's Python extensions. Discover the implementation of interactive Python interpreters and one-line script commands, including how dictionaries work and command invocation. Examine the LLDB Python API module construction and address specific challenges in debugger development. Gain insights into debugger-level dictionaries, breakpoint commands, and dictionary management. Follow a practical example using a simple dictionary program to demonstrate searching a binary search tree without restarting the program, utilizing both interactive interpreter and Python breakpoint commands.

Syllabus

Intro
OUTLINE
WHAT IS LLDB?
SOME USES OF THE LLDB LIBRARY
TARGETS & PROCESSES
BREAKPOINTS
FRAMES & STACKS
DESIRED GUI DEBUGGER BEHAVIOR
DEBUGGERS IN LLDB
WHY SCRIPTING IN A DEBUGGER?
LLDB EXTENSIONS FOR PYTHON
IMPLEMENTING INTERACTIVE PYTHON INTERPRETER
IMPLEMENTING ONE- LINE SCRIPT COMMANDS
HOW THE DICTIONARIES WORK (1)
INVOKING ONE-LINE SCRIPT COMMANDS
INVOKING INTERACTIVE SCRIPT INTERPRETER
MORE ABOUT LLOB BREAKPOINT SCRIPTS...
COMMANDS - CREATE
COMMANDS - CALL
BUILDING THE LLOB PYTHON API MODULE
PARTICULAR PROBLEMS & SOLUTIONS
GETTING A SINGLE OBJECT ACROSS THE DEBUGGER
WHY A DEBUGGER- LEVEL DICTIONARY?
INTERACTIVE INTERPRETER ONE LINE COMMANDS
BREAKPOINT COMMANDS: A PROBLEM
DICTIONARY SET-UP
DICTIONARY CLEAN-UP
POSSIBLE APPROACHES
WRITE OUR OWN!
EXAMPLE: SIMPLE DICTIONARY PROGRAM Store and find words in Binary Search Tree
THE PLAN Searching Tree Without Restarting Program
USING THE INTERACTIVE INTERPRETER
PYTHON BREAKPOINT COMMAND (At Decision to Follow Right Child)
SUMMARY

Taught by

EuroPython Conference

Reviews

Start your review of Combining Embedded and Interactive Python in a Debugger - A Case Study

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.