Hey, there was a question today about options for debugging python scripts in yocto. I've patched up this PoC for remote debugging.
If someone finds it useful (it should be copy-pastable), feel free to ping me back. Am opet to shaping it into a friendlier format and discover potential issues. ``` # epdb is a python debugger which has a capability of attaching to breakpoints # on running daemons. Install it on the host. pip3 install epdb git clone -b zeus git://git.yoctoproject.org/poky.git cd poky # Create a example .inc file in a random location cat > meta/recipes-core/images/python-debug-example.inc << "EOF" python () { # Import the epdb installed on the host import epdb random_action = 3 # Set the breakpoint. # This will stop the program and open a channel to connect to the interactive debugger epdb.serve() some_other_action = 5 another_action = 6 } EOF # Add the .inc file to an arbitrary image # Triggering the image build, the python code will be executed # and the breakpoint reached cat >> meta/recipes-core/images/core-image-minimal.bb << EOF require python-debug-example.inc EOF source oe-init-build-env # This will block because of the breakpoint bitbake core-image-minimal # Open a new terminal and connect to the debugger python3 -c "import epdb; epdb.connect()" # You should see something like... # (Epdb) l # 5 random_action = 3 # 6 # 7 # Set the breakpoint. # 8 # This will stop the program and open a channel to connect to the interactive debugger # 9 epdb.serve() # 10 -> some_other_action = 5 # 11 another_action = 6 # 12 } #[EOF] # ... which is the interactive python debugger ``` Be Well, Alan -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto