[more configurable] On 'Code view' window, appends the option to shows new symbols immediately when calling 'Open Session' menu. #194
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.
[Why needed]
In the present, Debugger accesses symbol-files like the following.
- On 'Open session' menu, it accepts file-path only and doesn't read file-text.
- On 'Reload all' button, it tries to read them, but doesn't read some of them with older filetime than called 'Open Session' menu (not filetime when called its menu).
Probably, these behaviors are designed for the long debug phase without fixing code and with saving and loading session(.omds) a lot of times, maybe it is convenient in the phase acutually.
But on the phase with fixing code and making symbol-files a lot of times, these are not expected, not comfortable and give frustrated.
It is thought that it is better to choose behavior.
[How to patch]
(1) Appending configurations.
+ 'ReloadSymbolFilesPerSession'
+ 'IgnoreSymbolsOfPrevSession'
(2) In the following, separating behavior by configurations.
SymbolTable::loadSymbols()
(3) Appending the signal flow.
+ DebuggerForm::openSession(),
DebuggerForm::systemSymbolManager()
| symbolsChanged
DisasmViewer::refresh()
[Related flow]
'Code view' window applies new symbols at (*2)(*3).
But now 'Open Session' menu doesn't call (*2)(*3) immediately.
Because the old cache 'disasmLines[]' blocks these calling at (*1) even after reloaded.