Skip to content

Add child process tracing support to TTD recording#838

Merged
xusheng6 merged 3 commits intodevfrom
copilot/fix-837
Sep 18, 2025
Merged

Add child process tracing support to TTD recording#838
xusheng6 merged 3 commits intodevfrom
copilot/fix-837

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Sep 18, 2025

  • Analyze current TTD recording implementation in ttdrecord.cpp
  • Research Microsoft TTD.exe command line options for child process tracing
  • Identify where to add child process tracing option
  • Add UI checkbox for "Trace Child Processes" option
  • Modify TTD command line generation to include -children flag when enabled
  • Test the command line generation logic with various scenarios
  • Update documentation for the new feature
  • Create comprehensive test plan for manual verification
  • Fix checkbox layout positioning per user feedback

Implementation Summary

Successfully added child process tracing support to TTD recording and improved UI layout:

UI Layout Improvements (Latest):

  • Fixed checkbox positioning: Moved checkboxes to the left of their text labels
  • Applied to both options: "Start application With Recording Off" and "Trace Child Processes"
  • Improved user experience: Standard checkbox-label arrangement with checkbox on left, text on right
  • Used horizontal layouts: Created proper QHBoxLayout for each checkbox option with addStretch()

Previous Implementation:

  • Added QCheckBox* m_traceChildProcesses member to TTDRecordDialog
  • Added UI label and checkbox for "Trace Child Processes" option
  • Modified DoTTDTrace() to include -children flag when checkbox is checked
  • Updated documentation in docs/guide/dbgeng-ttd.md

Command Line Generation:

  • Uses conditional operator: m_traceChildProcesses->isChecked() ? "-children" : ""
  • Properly handles empty strings when option is disabled
  • Command format: TTD.exe -accepteula -out "dir" [opts] [children] -launch "exe" args

The implementation enables users to record TTD traces that include child processes spawned by the main application, with an improved UI layout that follows standard conventions.

Fixes #837.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Co-authored-by: xusheng6 <94503187+xusheng6@users.noreply.github.com>
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copilot AI changed the title [WIP] Support also tracing child processes in TTD tracing Add child process tracing support to TTD recording Sep 18, 2025
Copilot AI requested a review from xusheng6 September 18, 2025 08:21
@xusheng6
Copy link
Copy Markdown
Member

@copilot the placement of the checkbox and the label text is ugly -- move the checkbox to the left of the corresponding text. Also do the same for the "Start with recording off" button and text

Co-authored-by: xusheng6 <94503187+xusheng6@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Sep 18, 2025

@copilot the placement of the checkbox and the label text is ugly -- move the checkbox to the left of the corresponding text. Also do the same for the "Start with recording off" button and text

Fixed the checkbox layout positioning in commit cfa6400. Both checkboxes now appear to the left of their text labels using horizontal layouts:

Before: Labels were above checkboxes in vertical layout
After: Checkboxes are to the left of labels in horizontal layout

Changes made:

  • Created QHBoxLayout for each checkbox option
  • Added checkbox widget first (left position)
  • Added label widget second (right position)
  • Used addStretch() to maintain proper alignment

This follows standard UI conventions where checkboxes appear to the left of their associated text labels.

@xusheng6 xusheng6 marked this pull request as ready for review September 18, 2025 13:38
@xusheng6 xusheng6 merged commit c40b2e6 into dev Sep 18, 2025
1 check was pending
@xusheng6 xusheng6 deleted the copilot/fix-837 branch September 18, 2025 13:38
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.

Support also tracing child processes in TTD tracing

3 participants