Fix issue when disabling "debug_init_break" did not work

This commit is contained in:
Ivan Kravets
2021-03-19 14:09:43 +02:00
parent 972d183d85
commit f5cee56740
2 changed files with 13 additions and 6 deletions

View File

@ -120,8 +120,9 @@ def cli(ctx, project_dir, project_conf, environment, verbose, interface, __unpro
rebuild_prog = helpers.is_prog_obsolete( rebuild_prog = helpers.is_prog_obsolete(
debug_config.program_path debug_config.program_path
) or not helpers.has_debug_symbols(debug_config.program_path) ) or not helpers.has_debug_symbols(debug_config.program_path)
else:
rebuild_prog = not os.path.isfile(debug_config.program_path) if not (debug_config.program_path and os.path.isfile(debug_config.program_path)):
rebuild_prog = True
if preload or (not rebuild_prog and load_mode != "always"): if preload or (not rebuild_prog and load_mode != "always"):
# don't load firmware through debug server # don't load firmware through debug server

View File

@ -88,7 +88,12 @@ class DebugConfigBase: # pylint: disable=too-many-instance-attributes
@property @property
def init_break(self): def init_break(self):
result = self.env_options.get("debug_init_break") missed = object()
result = self.env_options.get("debug_init_break", missed)
if result != missed:
return result
else:
result = None
if not result: if not result:
result = self.tool_settings.get("init_break") result = self.tool_settings.get("init_break")
return result or ProjectOptions["env.debug_init_break"].default return result or ProjectOptions["env.debug_init_break"].default
@ -196,13 +201,14 @@ class DebugConfigBase: # pylint: disable=too-many-instance-attributes
raise NotImplementedError raise NotImplementedError
def reveal_patterns(self, source, recursive=True): def reveal_patterns(self, source, recursive=True):
program_path = self.program_path or ""
patterns = { patterns = {
"PLATFORMIO_CORE_DIR": get_project_core_dir(), "PLATFORMIO_CORE_DIR": get_project_core_dir(),
"PYTHONEXE": proc.get_pythonexe_path(), "PYTHONEXE": proc.get_pythonexe_path(),
"PROJECT_DIR": self.project_config.path, "PROJECT_DIR": self.project_config.path,
"PROG_PATH": self.program_path, "PROG_PATH": program_path,
"PROG_DIR": os.path.dirname(self.program_path), "PROG_DIR": os.path.dirname(program_path),
"PROG_NAME": os.path.basename(os.path.splitext(self.program_path)[0]), "PROG_NAME": os.path.basename(os.path.splitext(program_path)[0]),
"DEBUG_PORT": self.port, "DEBUG_PORT": self.port,
"UPLOAD_PROTOCOL": self.upload_protocol, "UPLOAD_PROTOCOL": self.upload_protocol,
"INIT_BREAK": self.init_break or "", "INIT_BREAK": self.init_break or "",