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

Missing DAP OutputEvents for debuggee stdout/stderr

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
ruby
領域
devtools

調査の方向性

Reproduce the issue with the linked rdbg-stdout-issue example in Zed and inspect the DAP logs while running test.rb. Read the debug gem's DAP output handling and compare it with vscode-rdbg's extension.ts around line 994. Done means stdout and stderr appear in the Debug Console as OutputEvents with stdout and stderr categories, including output after the breakpoint.

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

説明

Your environment

  • ruby -v: ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [arm64-darwin25]
  • rdbg -v: rdbg 1.11.0

Describe the bug

When debugging a Ruby program with rdbg via DAP, the debuggee's stdout and stderr output is not sent as DAP OutputEvents. Instead, the output appears to be passed through to rdbg own stdout/stderr streams, which prevents it from viewing in the Debug Console of DAP clients that don't implement workarounds.

To Reproduce

The easiest way to reproduce is to debug any Ruby file with Zed (with installed Ruby extension):
I've created a small repo with an example: https://github.com/vitallium/rdbg-stdout-issue

Steps:

  1. Clone the repo
  2. Install gems with bundle install
  3. Open in Zed
  4. Open test.rb file
  5. Press F4 to start the debugging session, and in the popup choose Debug file
  6. Continue execution till the end.

According to the Debug Adapter Protocol specification, debug adapters should capture the debuggee's output streams and send them as OutputEvents with appropriate categories stdout and stderr

When a Ruby program prints to stdout/stderr, rdbg should send OutputEvent messages like:

{
  "type": "event",
  "event": "output",
  "body": {
    "category": "stdout",
    "output": "Hello from stdout\n"
  }
}

Expected behavior

The Console panel should print: Hello from stdout, Hello from stderr and After breakpoint when the execution continues. Currently, rdbg does not send these OutputEvents. The debuggee's stdout/stderr is passed through to rdbg own stdout/stderr streams, which can be seen in adapter logs but not in the Debug Console. You can check that by opening the DAP logs in Zed via the command palette dev: open debug adapter logs.

Additional context

The vscode-rdbg extension actually does that: https://github.com/ruby/vscode-rdbg/blob/master/src/extension.ts#L994

I think I can work on a fix if you consider this an issue (or a feature request) with the debug gem. Thanks!

主要言語
Ruby
スター
1.3k
フォーク
146
PR マージ指標
30日以内にマージされた PR はありません

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

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

はじめの一歩

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

ruby/debug のほかの issue

ruby/debug の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

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

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