Uh oh!
There was an error while loading. Please reload this page.
Support IRB console - #1024
Conversation
879d442 to
b9234ccCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
b9234cc to
85fa62aComparejon-sully
commented
Oct 20, 2023
Excited for this one! 😁 |
17abf5e to
85fa62aComparec104241 to
ad82b01Compareko1
commented
Nov 13, 2023
Is this intentional? and ( |
ko1
commented
Nov 13, 2023
For the remote connection, hmm... ignore this option? |
0baae2e to
ec76862Comparest0012
commented
Nov 14, 2023
@ko1 great catch on the doc and remote mode issue. I've fixed both now.
Yes this is expected. The |
ec76862 to
2165a70Compare
This is why I could not allow to input Ruby expression directly (and allow with Reline prompt changing). |
st0012
commented
Nov 19, 2023
Thanks for raising this 🙏 I talked to a few users during RubyConf and some said they did experience the issue before. |
ko1
commented
Nov 20, 2023
It is one idea. How to know the string is debug command or not? |
2165a70 to
ad8ea78CompareThis means that user will get an IRB session that has access to the debug commands too by activating IRB's debug integration automatically: https://github.com/ruby/irb#debugging-with-irb
The required IRB version only supports 2.7+
ad8ea78 to
f282982Comparest0012
commented
Dec 4, 2023
@ko1 In IRB I've bumped the PR's IRB requirement to Screen.Recording.2023-12-04.at.21.41.35.mov |
Uh oh!
There was an error while loading. Please reload this page.
ko1
commented
Dec 5, 2023
Thank you. It's great. |
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [debug](https://togithub.com/ruby/debug) | `1.8.0` -> `1.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ruby/debug (debug)</summary> ### [`v1.9.0`](https://togithub.com/ruby/debug/releases/tag/v1.9.0) [Compare Source](https://togithub.com/ruby/debug/compare/v1.8.0...v1.9.0) #### What's Changed - Configuration - `session_name` config by [@​ko1](https://togithub.com/ko1) in [https://github.com/ruby/debug/pull/1036](https://togithub.com/ruby/debug/pull/1036) - CLI - Require Reline 0.3.8+ to avoid frozen issue by [@​st0012](https://togithub.com/st0012) in [https://github.com/ruby/debug/pull/1020](https://togithub.com/ruby/debug/pull/1020) - Fix prompt list size and colorized code line size to match input line size passed to Reline by [@​tompng](https://togithub.com/tompng) in [https://github.com/ruby/debug/pull/1010](https://togithub.com/ruby/debug/pull/1010) - Fix broken command history when executing debugger on irb by [@​takatea](https://togithub.com/takatea) in [https://github.com/ruby/debug/pull/997](https://togithub.com/ruby/debug/pull/997) - Drop patch for Reline 0.2.7 by [@​st0012](https://togithub.com/st0012) in [https://github.com/ruby/debug/pull/1022](https://togithub.com/ruby/debug/pull/1022) - Support IRB console by [@​st0012](https://togithub.com/st0012) in [https://github.com/ruby/debug/pull/1024](https://togithub.com/ruby/debug/pull/1024) - Remote - Allow TracePoint reentry during DAP's evaluation by [@​st0012](https://togithub.com/st0012) in [https://github.com/ruby/debug/pull/1026](https://togithub.com/ruby/debug/pull/1026) - CDP: Add debuggerId field in the RETURN OBJECT of "Debugger.enable" by [@​ono-max](https://togithub.com/ono-max) in [https://github.com/ruby/debug/pull/1028](https://togithub.com/ruby/debug/pull/1028) - CDP: disable JavaScript engine based autocompletion by [@​ono-max](https://togithub.com/ono-max) in [https://github.com/ruby/debug/pull/1029](https://togithub.com/ruby/debug/pull/1029) - Do not use HEAD request if 1 port by [@​ko1](https://togithub.com/ko1) in [https://github.com/ruby/debug/pull/1035](https://togithub.com/ruby/debug/pull/1035) - Show session_name on connection by [@​ko1](https://togithub.com/ko1) in [https://github.com/ruby/debug/pull/1037](https://togithub.com/ruby/debug/pull/1037) - Internal - Stop assuming Integer#times is written in C by [@​k0kubun](https://togithub.com/k0kubun) in [https://github.com/ruby/debug/pull/1015](https://togithub.com/ruby/debug/pull/1015) - Disable cloned breakpoints trace point events by [@​vinistock](https://togithub.com/vinistock) in [https://github.com/ruby/debug/pull/1008](https://togithub.com/ruby/debug/pull/1008) - Unfreeze threads for some object-evaluating commands by [@​st0012](https://togithub.com/st0012) in [https://github.com/ruby/debug/pull/1030](https://togithub.com/ruby/debug/pull/1030) - Prevent backtrace from hanging if objects in the backtrace use Thread in inspect by [@​vinistock](https://togithub.com/vinistock) in [https://github.com/ruby/debug/pull/1038](https://togithub.com/ruby/debug/pull/1038) - Compile iseq_collector.c logic only on CRuby by [@​eregon](https://togithub.com/eregon) in [https://github.com/ruby/debug/pull/1039](https://togithub.com/ruby/debug/pull/1039) - Fix compatibility with Fiber Scheduler. by [@​ioquatix](https://togithub.com/ioquatix) in [https://github.com/ruby/debug/pull/987](https://togithub.com/ruby/debug/pull/987) - Do not make a Fiber for commands by [@​ko1](https://togithub.com/ko1) in [https://github.com/ruby/debug/pull/1044](https://togithub.com/ruby/debug/pull/1044) - support Ruby 3.3 by [@​ko1](https://togithub.com/ko1) in [https://github.com/ruby/debug/pull/1045](https://togithub.com/ruby/debug/pull/1045) - Misc/Doc - Fix ruby warnings by [@​y-yagi](https://togithub.com/y-yagi) in [https://github.com/ruby/debug/pull/993](https://togithub.com/ruby/debug/pull/993) - Fix a typo by [@​makenowjust](https://togithub.com/makenowjust) in [https://github.com/ruby/debug/pull/988](https://togithub.com/ruby/debug/pull/988) - Update `TrapInterceptor` to avoid assigning to an unused variable by [@​DavidZivk](https://togithub.com/DavidZivk) in [https://github.com/ruby/debug/pull/985](https://togithub.com/ruby/debug/pull/985) - remove debug print by [@​ko1](https://togithub.com/ko1) in [https://github.com/ruby/debug/pull/1043](https://togithub.com/ruby/debug/pull/1043) - Minor punctuation and grammar fixes by [@​ahangarha](https://togithub.com/ahangarha) in [https://github.com/ruby/debug/pull/1041](https://togithub.com/ruby/debug/pull/1041) - Tests - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/ruby/debug/pull/1014](https://togithub.com/ruby/debug/pull/1014) #### New Contributors - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/ruby/debug/pull/1014](https://togithub.com/ruby/debug/pull/1014) - [@​tompng](https://togithub.com/tompng) made their first contribution in [https://github.com/ruby/debug/pull/1010](https://togithub.com/ruby/debug/pull/1010) - [@​takatea](https://togithub.com/takatea) made their first contribution in [https://github.com/ruby/debug/pull/997](https://togithub.com/ruby/debug/pull/997) - [@​y-yagi](https://togithub.com/y-yagi) made their first contribution in [https://github.com/ruby/debug/pull/993](https://togithub.com/ruby/debug/pull/993) - [@​DavidZivk](https://togithub.com/DavidZivk) made their first contribution in [https://github.com/ruby/debug/pull/985](https://togithub.com/ruby/debug/pull/985) - [@​eregon](https://togithub.com/eregon) made their first contribution in [https://github.com/ruby/debug/pull/1039](https://togithub.com/ruby/debug/pull/1039) - [@​ahangarha](https://togithub.com/ahangarha) made their first contribution in [https://github.com/ruby/debug/pull/1041](https://togithub.com/ruby/debug/pull/1041) - [@​ioquatix](https://togithub.com/ioquatix) made their first contribution in [https://github.com/ruby/debug/pull/987](https://togithub.com/ruby/debug/pull/987) **Full Changelog**: ruby/debug@v1.8.0...v1.9.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/powerhome/audiences). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Motivation
Currently, the
irbcommand always opens up a fresh IRB session, which means:debug's commands in this mode.debugcommands, users need to leave the IRB session first, which means losing IRB commands or feature like multi-line input.So in this PR, I enhanced the
irbcommand by making it activate IRB's newirb:debugintegration.And if users want to always activate the new IRB console, without constantly typing
irbcommand manually, they can achieve this by settingCONFIG[:irb_console]totrue.Closesruby/irb#712
Changes
When the new
irbcommand is executed, it will:irb:rdbgconsole, which is achieved by replacingdebug'sUI_LocalConsoleUI with IRB'sIRB::Debug::UI.debuggem skip IRB's frames.Context#evaluatemethod so when it evaluates IRB commands frozen threads will be temporarily unfroze.Furthermore, if users set
RUBY_DEBUG_IRB_CONSOLEorCONFIG[:irb_console]totrue, then theirb:rdbgconsole will be opened automatically in the sessions.Main differences
debug's commands, instead of just IRB's.debug's default console.irb:rdbgconsole, users get hint when their input is going to be processed as adebugcommand:Screen.Recording.2023-12-04.at.21.41.35.mov