`break /foo/` for matched method
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
No files, tests, or implementation entry points are named. Start by tracing how the debugger parses and installs the existing break command, then determine how pending breakpoints and future method definitions are handled. Done means an agreed regexp notation and behavior for matching method names, including tests for existing and future definitions.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
gdb has rbreak regexp (https://sourceware.org/gdb/onlinedocs/gdb/Set-Breaks.html) and maybe debug.gem can provide similar feature.
related to: https://github.com/ruby/debug/issues/655
Questions:
- Notation:
break /foo/all methods which names containsfoo.C1#foo,C2#foobar,C3#bazfoo, ...
break C#/foo/: C's methods which containsfoo.C#foo,C#foobar, ...- Seem's ugly...
break /C/#foo: Method foo of classes which names containC.C1#fooC2#foo, ...- Seems ugly too.
- Only allow
break /C#foo/orbreak /C\.foo/and so on? - Only allow to match method name?
- It seems simple. We can extend it later.
- Behavior:
- Set breakpoints for existing matched methods (no problem)
- Set breakpoints for future defined matched methods?
break /initialize/means allinitializemethods (and defined in future) can be trapped.- maybe it is convenient to support it.
- Can we support
break /obj.foo/style?- maybe no if we allow future defined methods.
So current idea is:
break /regexp/set method breakpoints where the method name matched with Class/Module/method name.break /foo/should be matched with:C#fooD.fooE.bazfooboo- We can not match on class/module names (at least now).
- It leaves as a pending breakpoint and set breakpoint in future definitions. User needs to del it if you don't need more.
- Lingua principale
- Ruby
- Stelle
- 1.3k
- Fork
- 146
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ruby/debug
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Support exceptionOptions in setExceptionBreakpoints to catch arbitrary exception classes via DAP Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
palladius/rails8-app-on-gcp#145 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
riscv/riscv-unified-db#2624 · 1 reazione ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100