[MacRuby-devel] Debugging MacRuby?

Alexander v. Below below at mac.com
Fri Jul 9 10:50:57 PDT 2010


Hello,

dear list, allow me another stupid question: I want to go into MacRuby's guts, and throw gdb at it.

Attempting to look at issue #753, I did the naive thing:

% gdb macruby
(gdb) break dispatcher.cpp:1343

The answer here was: 
"No symbol table is loaded.  Use the "file" command.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (dispatcher.cpp:1343) pending."

Question 1:
Do I need to build MacRuby differently to get a symbol file? Or is it just hidden away somewhere?

When I continue:

(gdb) run test_webrick.rb

After a while, what I get is:

[2010-07-09 19:42:21] ERROR Errno::EINTR: Interrupted system call - select(2) failed
	/Library/Frameworks/MacRuby.framework/Versions/0.7/usr/lib/ruby/1.9.2/webrick/server.rb:83:in `block'

Which is way off from the error I would expect.

If I do not try to set a breakpoint, I get the expected console output ("Assertion failed: ((b->flags & flags) == flags), function rb_vm_prepare_block, file dispatcher.cpp, line 1343."), and a SIGABRT. The backtrace looks, well, not really nice.

Question 2: Am I even approaching this right? Or do I need to take special precautions?

 
Thanks a lot

Alex


More information about the MacRuby-devel mailing list