Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Automatically select main isolate instead of the test runner isolate when connecting to test runs

Abierto
#9,747 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
dart

Línea de trabajo

Reproduce el problema con bin/main.dart y test/cpu_profile_test.dart, siguiendo los pasos de breakpoints y perfilado de CPU indicados en el informe. Empieza siguiendo cómo DevTools se conecta a una ejecución de prueba y selecciona un isolate; el trabajo estará terminado cuando el perfilado de la ejecución de prueba capture el trabajo en cpu_profile.calculate() y muestre datos como el programa independiente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

cross-screen P2

I don't know if this is a DevTools issue or something else, but I'm also not sure how to determine which.

When running tests, CPU profiling never seems to collect any data. For example given a sample project with a bin/main.dart that calls a function in lib that blocks for 5s, and a test that does the same:

bin/main.dart

import 'package:cpu_profile/cpu_profile.dart' as cpu_profile;

void main(List<String> arguments) {
  print('starting'); // breakpoint
  cpu_profile.calculate();
  print('done!'); // breakpoint
}

lib/cpu_profile.dart

int calculate() {
  var start = DateTime.now();
  while (start.difference(DateTime.now()).inSeconds.abs() < 5) {}
  return 6 * 7;
}

test/cpu_profile_test.dart

import 'package:cpu_profile/cpu_profile.dart' as cpu_profile;
import 'package:test/test.dart';

void main() {
  test('calculate', () {
    print('starting'); // breakpoint
    cpu_profile.calculate();
    print('done!'); // breakpoint
  });
}

For bin/main.dart:

  • Open bin/main.dart
  • Add breakpoints on the marked lines
  • Run in debug mode and hit the first breakpoint
  • Open DevTools CPU profile, enable profiling, and start recording
  • Resume execution and wait for it to hit the second breakpoint
  • Stop CPU profiling and observe the results
Image

Perform the same steps but using the test instead, and the profiler doesn't show any data:

Image
Lenguaje dominante
Dart
Estrellas
1.7k
Forks
405
Merge medio
4 d 21 h
PR fusionados (30 d)
15

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de flutter/devtools

Todos los issues de flutter/devtools

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.