Fix debugger terminating immediately on iOS device debugging #180
+150
−1
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 issue #114 where the debugger would terminate immediately after app launch when debugging iOS applications on physical devices, despite successful app installation and launch.
Problem
When using the "debugging-launch" task to debug iOS apps on physical devices, users experienced:
The same workflow worked perfectly on iOS Simulator, indicating a device-specific issue.
Root Cause
The issue was caused by the
--consoleflag in thedevicectl device process launchcommand. When this flag is used:Solution
Modified the device launch logic to conditionally exclude the
--consoleflag when launching in debug mode:Changes Made
debug?: booleantorunOniOSDevice()function signature--consolewhendebug=trueprovider.tsandcommands.tsto pass the debug flagBehavior After Fix
debugging-launchtask): Launches without--console, keeping process alive for debugger attachmentlaunchtask): Uses--consoleas before for console output capture--consolewasn't supportedTesting
Added unit tests covering:
debug=truedebug=falseAll tests pass, TypeScript compilation successful, no linting issues.
Impact
Closes #114
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.