Skip to content

Reject a TTD launch with no trace specified (Fixes #910)#1145

Open
xusheng6 wants to merge 1 commit into
devfrom
test_910_prompt_ttd_trace
Open

Reject a TTD launch with no trace specified (Fixes #910)#1145
xusheng6 wants to merge 1 commit into
devfrom
test_910_prompt_ttd_trace

Conversation

@xusheng6

@xusheng6 xusheng6 commented Jul 24, 2026

Copy link
Copy Markdown
Member

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() — validates launch.trace_path and 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 existing SettingsView; it turns out not to be needed. SettingsView writes each value as it is edited, so apply() can just read the current value back out of GetAdapterSettings(). No changes to SettingsView.

The check is gated on the launch highlight group and the DBGENG_TTD adapter, so the attach/connect/debug-server dialogs and the menu-invoked settings view are unaffected.

DbgEngTTDAdapter::ExecuteWithArgsInternal — bails before Start() with a LaunchFailureEventType that 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.

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

prompt for trace when TTD backend selected

1 participant