On Feb 19, 2011, at 10:34 PM, Rocky Bernstein wrote:
>
>
> On Sat, Feb 19, 2011 at 10:03 PM, Chuck Remes <[email protected]> wrote:
> 3. Add in the heap_dump (evanphx/heap_dump) functionality directly into rbx
> console (or make it a plug-in or something). It would be great to be able to
> write a command similar to this:
>
> console> heap.diff(Time.now, Time.now + 60)
>
> or
>
> console> now_anchor = Time.now
> console> 5.times do
> console> sleep 60
> console> heap.diff(now_anchor, Time.now)
> console> end
>
> to do heap diffs right in the console.
>
> 4. Extend the debugger so we can set breakpoint on stdlib or rbx internal
> Ruby code that is *called by* a C extension.
>
> I wasn't aware this wasn't possible. Can you come up with the simplest test
> case to try?
Upon re-reading, I see that #4 is unclear. I *did* write it at midnight with a
few whiskies in my system, so that's my excuse.
Allow me to clarify.
4. Extend the debugger so that we can set conditional breakpoints on stdlib or
internal Rubinius Ruby code. This would be useful for breaking on Array#insert
when it is called from a C extension but *not break* there when called by other
code. A small example may help illustrate.
debug> break Array#insert if call_stack.include?("some function from a C
extension")
This example would *only* break on #insert when it's called from a C extension,
but other calls from normal Ruby code would not trigger the break.
I hope that is clearer. If not, perhaps I can try again (or the idea is
half-baked to begin with).
cr
--
--- !ruby/object:MailingList
name: rubinius-dev
view: http://groups.google.com/group/rubinius-dev?hl=en
post: [email protected]
unsubscribe: [email protected]