Comments (7)
To support filtering "step-in/over/out" more considerations are needed.
from debug.
Sorry I couldn't understand the question correctly. What do you want to do with the debugger?
Don't worry - I thought that binding.bp
dropped you into an IRB console but that's not the case so it's another confusion on my part.
from debug.
- Maybe there is a confusion.
DEBUGGER__.console
starts debugging under MRI. This means enables many debugger features such as entering debugger withCtrl+C
, thread/ractor tracing,eval
code collection and so on.binding.bp
introduces explicit break point (the name is not fixed.binding.debug
is one idea). Maybe your question is it.- I'm not sure what is
debugger
method, but I think breaking compatibility is not good, this is why I introducedbinding.bp
new name.
-
Maybe you are talking about "step-in/out" features with filtering. It is possible. The problem is debug command design. If you have good idea (or you can summaries requirements), please make new issue about it. Now I don't have good knowledge to design this feature (simply skipping gem code?).
-
Maybe we release 1.0.0 before 3.1. There is no plan so we can discuss about it.
Thanks.
from debug.
-
Yes, that's confusion on my part -
binding.bp
orbinding.debug
are fine. Is there a way to jump back out to MRI to do things like control threads? -
As a first step, adding an explicit
binding.debug
and then being able to usestep
to skip over frames that are inside gem code would be good. We're pretty early in thinking about this so we'll need to give it some deeper thought. -
That's good to know - as I said we're not close to shipping but just wanted to clarify things.
Thanks for your prompt responses - I'll open a new issue about point 2 once we've given it some more thought around API and features, so I'll close this issue. 👍🏻
from debug.
Regarding the 2nd point, I think it can be achieved by injecting a callback at
debug/lib/debug/thread_client.rb
Lines 142 to 143 in a12e1dd
With something similar to
@target_frames = DEBUGGER__.capture_frames __dir__
@target_frames = @target_frames.select do |frame|
frame.location_str.match?(Rails::BacktraceCleaner::APP_DIRS_PATTERN)
end
This should exclude non-app frames from any later operations.
from debug.
Is there a way to jump back out to MRI to do things like control threads?
Sorry I couldn't understand the question correctly. What do you want to do with the debugger?
from debug.
@pixeltrix do you think the Rails example in #157 is similar what you're looking for?
from debug.
Related Issues (20)
- Running irb on debugger on irb dose not save the irb history HOT 1
- Cannot attach docker container with `debugger` while `pry.binding` can HOT 4
- Any way to easily name the socket files? HOT 2
- REPL prints next prompt without printing result of previous command HOT 3
- The debugger command doesn't seem to work when using multiple threads at the same time. HOT 3
- Respect XDG basedir spec HOT 7
- Can't execute multiple line statement HOT 3
- Allow printing out + copying of full variables in VSCode HOT 1
- `rdbg` without no arguments HOT 2
- LocalJumpError: break from proc-closure on typo in debug prompt HOT 2
- Setting breaking points with absolute path fails from nvim-dap and rdbg on Docker container HOT 1
- binding.b doesn't stop code on second controller request and above
- History not available
- Setting the irb_console configuration true has no effect HOT 1
- <enter> does not repeat last command in irb_console mode.
- Proposal: reverse continue
- Feat/Bug: Set the value of `_` (underscore) to the value of the last ruby expression HOT 3
- Slow print (STDOUT) of large objects
- Question: Could not load source 'Fastfile': not found, while debugging a Fastlane lane from VSCODE
- Remove usage of deprecated constant IRB::InputCompletor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from debug.