fix(esp_system): Updated the conditions for the GDBStub on Panic Kconfig option

This commit updates the Panic handler behavior Kconfig setting to make
the GDBStub on Panic (CONFIG_ESP_SYSTEM_PANIC_GDBSTUB) option to be only
available when esp_gdbstub is part of the component list of the build.

Closes https://github.com/espressif/esp-idf/issues/13218
pull/13338/head
Sudeep Mohanty 2024-02-20 12:45:45 +01:00
rodzic f3b95059f9
commit 7444890a03
4 zmienionych plików z 13 dodań i 2 usunięć

Wyświetl plik

@ -1,9 +1,10 @@
menu "GDB Stub"
# Hidden option which is selected from the "Panic handler behavior"
# Hidden option which adds GDBStub on panic option to the "Panic handler behavior"
# menu in the target component.
config ESP_GDBSTUB_ENABLED
bool
default y
config ESP_SYSTEM_GDBSTUB_RUNTIME
bool "GDBStub at runtime"

Wyświetl plik

@ -38,7 +38,7 @@ menu "ESP System Settings"
config ESP_SYSTEM_PANIC_GDBSTUB
bool "GDBStub on panic"
select ESP_GDBSTUB_ENABLED
depends on ESP_GDBSTUB_ENABLED
help
Invoke gdbstub on the serial port, allowing for gdb to attach to it to do a postmortem
of the crash.

Wyświetl plik

@ -66,6 +66,10 @@ Subsequent behavior of the panic handler can be set using :ref:`CONFIG_ESP_SYSTE
Start GDB server which can communicate with GDB over console UART port. This option will only provide read-only debugging or post-mortem debugging. See `GDB Stub`_ for more details.
.. note::
``CONFIG_ESP_SYSTEM_PANIC_GDBSTUB`` choice in the configuration option :ref:`CONFIG_ESP_SYSTEM_PANIC` is only available when the component ``esp_gdbstub`` is included in the build.
The behavior of the panic handler is affected by three other configuration options.
- If :ref:`CONFIG_ESP_DEBUG_OCDAWARE` is enabled (which is the default), the panic handler will detect whether a JTAG debugger is connected. If it is, execution will be halted and control will be passed to the debugger. In this case, registers and backtrace are not dumped to the console, and GDBStub / Core Dump functions are not used.

Wyświetl plik

@ -34,3 +34,9 @@ The Task Snapshot API has been made private due to a lack of a practical way for
- ``#include "freertos/xtensa_api.h"`` is deprecated, please use ``#include "xtensa_api.h"`` instead.
- ``#include "freertos/xtensa_context.h"`` is deprecated, please use ``#include "xtensa_context.h"`` instead.
- ``#include "freertos/xtensa_timer.h"`` is deprecated, please use ``#include "xtensa_timer.h"`` instead.
Panic Handler Behavior
----------------------
The choice ``CONFIG_ESP_SYSTEM_PANIC_GDBSTUB`` in the configuration option :ref:`CONFIG_ESP_SYSTEM_PANIC` has been made dependent on whether the ``esp_gdbstub`` component is included in the build. When trimming the list of components in the build using ``set(COMPONENTS main)``, ``esp_gdbstub`` component has to be added to this list of components to make the ``CONFIG_ESP_SYSTEM_PANIC_GDBSTUB`` option available.