diff --git a/tools/idf_py_actions/debug_ext.py b/tools/idf_py_actions/debug_ext.py index fd56665efa7..5805e838b06 100644 --- a/tools/idf_py_actions/debug_ext.py +++ b/tools/idf_py_actions/debug_ext.py @@ -251,6 +251,10 @@ def openocd(action: str, ctx: Context, args: PropertyDict, openocd_scripts: Opti 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]