Fix remote client configuration #675
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a leftover issue caused by #642
When a remote debugger client is started, it doesn't have configurations filled like the debuggee does, which can cause some issues. Like:
This is because
CONFIG.update
replaces the entire config hash and removes all the default valuesCONFIG
already has. So if we start a client withrdbg -A
, this will happen:config = DEBUGGER__::Config::parse_argv(ARGV)
returns a hash like{ mode: :attach }
.mode
isn't a real configuration option. It's only used to pass the mode information from the-A
flag.CONFIG
will be initialized with all the default configuration values.{:mode=>:start, :log_level=>:WARN, :show_src_lines=>10, :show_frames=>2, :use_short_path=>false, .....}
CONFIG.update
will replace the hash in 2 with the{ mode: :attach }
.