Conversation
879d442 to
b9234cc
Compare
b9234cc to
85fa62a
Compare
|
Excited for this one! 😁 |
17abf5e to
85fa62a
Compare
c104241 to
ad82b01
Compare
|
Is this intentional? and ( |
|
For the remote connection, hmm... ignore this option? |
0baae2e to
ec76862
Compare
|
@ko1 great catch on the doc and remote mode issue. I've fixed both now.
Yes this is expected. The |
ec76862 to
2165a70
Compare
This is why I could not allow to input Ruby expression directly (and allow with Reline prompt changing). |
|
Thanks for raising this 🙏 I talked to a few users during RubyConf and some said they did experience the issue before. |
It is one idea. How to know the string is debug command or not? |
2165a70 to
ad8ea78
Compare
This 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
f282982
Compare
|
@ko1 In IRB I've bumped the PR's IRB requirement to Screen.Recording.2023-12-04.at.21.41.35.mov |
|
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.Closes ruby/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