From e0bb3a25e48708a386aca9dd70465d1818bd2b41 Mon Sep 17 00:00:00 2001 From: Alexey Lapshin Date: Fri, 6 Dec 2024 19:12:07 +0700 Subject: [PATCH] fix(tools): fix idf.py gdb execution in case app was not built --- tools/idf_py_actions/debug_ext.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/idf_py_actions/debug_ext.py b/tools/idf_py_actions/debug_ext.py index fd56665efa..5805e838b0 100644 --- a/tools/idf_py_actions/debug_ext.py +++ b/tools/idf_py_actions/debug_ext.py @@ -251,6 +251,10 @@ def action_extensions(base_actions: Dict, project_path: str) -> Dict: print('OpenOCD started as a background task {}'.format(process.pid)) def get_gdb_args(project_desc: Dict[str, Any], gdb_x: Tuple, gdb_ex: Tuple, gdb_commands: Optional[str]) -> List[str]: + # check if the application was built and ELF file is in place. + app_elf = os.path.join(project_desc.get('build_dir', ''), project_desc.get('app_elf', '')) + if not os.path.exists(app_elf): + raise FatalError('ELF file not found. You need to build & flash the project before running debug targets') # debugger application name (xtensa-esp32-elf-gdb, riscv32-esp-elf-gdb, ...) gdb_name = project_desc.get('monitor_toolprefix', '') + 'gdb' gdb_args = [gdb_name]