====================
GDB with Python
====================

Introduction
============

We can better debug the nuttx kernel through GDB's python extension.
Some of the most common class usages are implemented under the nuttx/tools/gdb directory.
Users can write their own python scripts to debug the nuttx kernel according to their needs

Usage
=====

1. Compile nuttx with CONFIG_DEBUG_SYMBOLS=y
2. Use gdb to debug nuttx elf.(real device, or sim, or coredump)
3. add args to gdb command line: -ix="nuttx/tools/gdb/__init__.py"
4. Then gdb will load the python script automatically.you can use the custom commands.

How to write a GDB python script
================================

Here is an article to introduce, read it to understand the most basic principles of python,
`Automate Debugging with GDB Python API <https://interrupt.memfault.com/blog/automate-debugging-with-gdb-python-api>`_.

For more documentation on gdb pyhton, please refer to the official documentation of gdb
`GDB with pyhton <https://interrupt.memfault.com/blog/automate-debugging-with-gdb-python-api>`_.