Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit261be4b

Browse files
committed
++
1 parentb02a1f4 commit261be4b

File tree

5 files changed

+22
-16
lines changed

5 files changed

+22
-16
lines changed

‎packages/flutter_tools/lib/src/features.dart‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,9 +224,14 @@ const windowingFeature = Feature(
224224

225225
/// Enable LLDB debugging for physical iOS devices. When LLDB debugging is off,
226226
/// Xcode debugging is used instead.
227+
///
228+
/// Requires iOS 17+ and Xcode 26+. If those requirements are not met, the previous
229+
/// default debugging method is used instead.
227230
const lldbDebugging=Feature(
228231
name:'support for debugging with LLDB for physical iOS devices',
229-
extraHelpText:'If LLDB debugging is off, Xcode debugging is used instead.',
232+
extraHelpText:
233+
'If LLDB debugging is off, Xcode debugging is used instead. '
234+
'Only available for iOS 17 or newer devices. Requires Xcode 26 or greater.',
230235
configSetting:'enable-lldb-debugging',
231236
environmentOverride:'FLUTTER_LLDB_DEBUGGING',
232237
master:FeatureChannelSetting(available:true, enabledByDefault:true),

‎packages/flutter_tools/lib/src/ios/devices.dart‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -986,10 +986,11 @@ class IOSDevice extends Device {
986986
IOSDeploymentMethod? deploymentMethod;
987987

988988
// Xcode 16 introduced a way to start and attach to a debugserver through LLDB.
989-
// Use LLDB if available.
989+
// However, it doesn't work reliably until Xcode 26.
990+
// Use LLDB if Xcode version is greater than 26 and the feature is enabled.
990991
finalVersion? xcodeVersion= globals.xcode?.currentVersion;
991-
finalboollldbEnabled= featureFlags.isLLDBDebuggingEnabled;
992-
if (xcodeVersion!=null&& xcodeVersion.major>=16&&lldbEnabled) {
992+
finalboollldbFeatureEnabled= featureFlags.isLLDBDebuggingEnabled;
993+
if (xcodeVersion!=null&& xcodeVersion.major>=26&&lldbFeatureEnabled) {
993994
finalbool launchSuccess=await _coreDeviceLauncher.launchAppWithLLDBDebugger(
994995
deviceId: id,
995996
bundlePath: package.deviceBundlePath,

‎packages/flutter_tools/lib/src/ios/lldb.dart‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ return False
9999
await_attachToAppProcess(appProcessId);
100100
await_resumeProcess();
101101
}on_LLDBErrorcatch (e) {
102-
_logger.printError('lldb failed with error: ${e.message}');
102+
_logger.printTrace('lldb failed with error: ${e.message}');
103103
exit();
104104
returnfalse;
105105
}finally {
@@ -115,7 +115,7 @@ return False
115115
/// to`stderr`, complete with an error and stop the process.
116116
Future<bool>_startLLDB(int appProcessId)async {
117117
if (_lldbProcess!=null) {
118-
_logger.printError(
118+
_logger.printTrace(
119119
'An LLDB process is already running. It must be stopped before starting a new one.',
120120
);
121121
returnfalse;
@@ -139,7 +139,7 @@ return False
139139
.transform<String>(utf8.decoder)
140140
.transform<String>(constLineSplitter())
141141
.listen((String line) {
142-
_logger.printError('[lldb]: $line');
142+
_logger.printTrace('[lldb]: $line');
143143
_monitorError(line);
144144
});
145145

@@ -155,7 +155,7 @@ return False
155155
}),
156156
);
157157
}onProcessExceptioncatch (exception) {
158-
_logger.printError('Process exception running lldb:\n$exception');
158+
_logger.printTrace('Process exception running lldb:\n$exception');
159159
returnfalse;
160160
}
161161
returntrue;

‎packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ void main() {
842842
group('IOSDevice.startApp for CoreDevice', () {
843843
group('in debug mode', () {
844844
testUsingContext(
845-
'uses LLDB with Xcode16+',
845+
'uses LLDB with Xcode26+',
846846
()async {
847847
finalFileSystem fileSystem=MemoryFileSystem.test();
848848
final processManager=FakeProcessManager.empty();
@@ -892,7 +892,7 @@ void main() {
892892
]);
893893
},
894894
overrides: {
895-
Xcode: ()=>FakeXcode(currentVersion:Version(16,0,0)),
895+
Xcode: ()=>FakeXcode(currentVersion:Version(26,0,0)),
896896
Analytics: ()=>FakeAnalytics(),
897897
},
898898
);
@@ -962,10 +962,10 @@ void main() {
962962
result:'debugging success',
963963
),
964964
]);
965-
}, overrides: {Xcode: ()=>FakeXcode(currentVersion:Version(16,0,0))});
965+
}, overrides: {Xcode: ()=>FakeXcode(currentVersion:Version(26,0,0))});
966966

967967
testUsingContext(
968-
'uses Xcode if less than Xcode16',
968+
'uses Xcode if less than Xcode26',
969969
()async {
970970
finalFileSystem fileSystem=MemoryFileSystem.test();
971971
final processManager=FakeProcessManager.empty();
@@ -1027,7 +1027,7 @@ void main() {
10271027
),
10281028
]);
10291029
},
1030-
overrides: {Xcode: ()=>FakeXcode(currentVersion:Version(15,0,0))},
1030+
overrides: {Xcode: ()=>FakeXcode(currentVersion:Version(16,0,0))},
10311031
);
10321032

10331033
testUsingContext('succeeds', ()async {

‎packages/flutter_tools/test/general.shard/ios/lldb_test.dart‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void main() {
4343
expect(lldb.isRunning, isFalse);
4444
expect(lldb.appProcessId, isNull);
4545
expect(processManager.hasRemainingExpectations, isFalse);
46-
expect(logger.errorText,contains('Process exception running lldb'));
46+
expect(logger.traceText,contains('Process exception running lldb'));
4747
});
4848

4949
testWithoutContext('attachAndStart returns true on success', ()async {
@@ -174,7 +174,7 @@ Target 0: (Runner) stopped.
174174
expect(lldb.appProcessId, isNull);
175175
expect(expectedInputs, isEmpty);
176176
expect(processManager.hasRemainingExpectations, isFalse);
177-
expect(logger.errorText,contains(errorText));
177+
expect(logger.traceText,contains(errorText));
178178
});
179179

180180
testWithoutContext('attachAndStart returns false when stderr not during log waiter', ()async {
@@ -220,7 +220,7 @@ Target 0: (Runner) stopped.
220220
expect(lldb.appProcessId, isNull);
221221
expect(expectedInputs, isEmpty);
222222
expect(processManager.hasRemainingExpectations, isFalse);
223-
expect(logger.errorText,contains(errorText));
223+
expect(logger.traceText,contains(errorText));
224224
});
225225

226226
testWithoutContext('attachAndStart prints warning if takes too long', ()async {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp