Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Feature] Passive exception capture mode in the Debugger tab

オープン
#9,854 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
dart
領域
devtools

調査の方向性

「Debugger」タブの例外モードセレクターから開始し、VM Service Debug イベントストリームのイベントと resume 動作をどのように処理しているかを追跡します。「Logging」タブと DevTools のローカルサーバープロセスを確認し、既存の出力パスを調べます。完了条件は、Debug Mode 専用の「Log exceptions」オプションが、route、timestamp、count を含む重複排除済みの例外詳細を、指定された .devtools Markdown ファイルに記録することです。

索引モデルが issue の本文から書いたものです。

説明

enhancement P2 screen: debugger

Problem

The Debugger's existing exception modes (Ignore, Uncaught, All) - all share the same behaviour: the VM pauses and waits for the developer to resume. This breaks down for intermittent bugs, timing-sensitive flows, and exceptions that are hard to reproduce on demand. There is currently no way to let the app run freely and collect exception data without altering the conditions that produced it.

The Logging tab surfaces FlutterError output but as a raw unstructured stream - no deduplication, no route context, no export. It is not designed for this workflow.

Proposed solution

Add a fourth option to the existing exception mode selector in the Debugger tab:

  • Ignore exceptions
  • Uncaught exceptions
  • All exceptions
  • Log exceptions <- new

When active, DevTools listens to the VM Service Debug event stream for exception events without sending a resume signal - the VM is already emitting these, this mode just doesn't pause on them. Captured exceptions are deduplicated by stack trace hash and written continuosly to Example - ".devtools/exception_log_<timestamp>.md" at project root via the DevTools local server process written to disk as exceptions are captured.

Each entry captures exception type, message, stack trace, current route, timestamp, and occurrence count for Debug Mode only.

主要言語
Dart
スター
1.7k
フォーク
405
平均マージ
4日 21時間
マージ済み PR(30日)
15

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

flutter/devtools のほかの issue

flutter/devtools の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。