Reject a TTD launch with no trace specified (Fixes #910)#1145
Open
xusheng6 wants to merge 1 commit into
Open
Conversation
The TTD adapter replays a recorded trace, but nothing checked that one was actually configured, so launching without a trace path failed deep inside the engine with an opaque "OpenDumpFile failed: 0x..." HRESULT. Validate the trace path in AdapterSettingsDialog::apply() and keep the dialog open with an explanation instead of accepting it. The settings view writes each value as it is edited, so the current value can simply be read back; no changes to SettingsView are needed. The check is limited to the launch group with the DBGENG_TTD adapter selected so the other flows are unaffected. Also check the trace path in DbgEngTTDAdapter::ExecuteWithArgsInternal before starting the engine, which covers the headless and scripted paths as well as the launches where the settings dialog is skipped (#1133). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #910.
The TTD adapter replays a recorded trace, but nothing checked that one was actually configured. Launching without a trace path failed deep inside the engine with an opaque
OpenDumpFile failed: 0x....Two checks, mirroring the split used for #1103:
AdapterSettingsDialog::apply()— validateslaunch.trace_pathand keeps the dialog open with an explanation rather than accepting it. The issue noted that validating inside the settings view looked hard because it reuses the existingSettingsView; it turns out not to be needed.SettingsViewwrites each value as it is edited, soapply()can just read the current value back out ofGetAdapterSettings(). No changes toSettingsView.The check is gated on the
launchhighlight group and theDBGENG_TTDadapter, so the attach/connect/debug-server dialogs and the menu-invoked settings view are unaffected.DbgEngTTDAdapter::ExecuteWithArgsInternal— bails beforeStart()with aLaunchFailureEventTypethat names what is missing, with distinct messages for an empty path and a path that does not exist. This covers the headless and scripted paths, plus the launches where the settings dialog is skipped since #1133.