我想在没有任何优化的情况下从源代码编译 irb,以便在使用 gdb 单步执行(解释器)代码时获得更多信息。我已经成功编译 ruby 1.9.1 没有问题,但我找不到任何关于 irb 的文档。我相信 irb 包含在 ruby 1.9 源代码中,但无法验证这一点。谁能指出我正确的方向?
问问题
619 次
1 回答
2
您能否通过“在没有优化的情况下编译 IRb”来澄清您的确切含义?
你没有说你使用的是哪个 Ruby 实现。我将假设您使用的是 YARV。
使用 YARV,没有单独的编译步骤,它会在每次运行时自动为您编译 IRb。(即使 YARV 是编译器,您也可以将其视为解释器,因为您不必担心编译步骤。)此外,YARV 在编译 AFAIK 时不会进行任何优化,如果这样做,则没有影响编译的方式,因此也无法关闭优化。
IRb 在 YARV 源代码中很容易找到。可执行文件位于bin
目录中:
但它没有做任何有趣的工作。真正的肉在标准库中:
lib/irb.rb
和- 整个
lib/irb/
目录
于 2010-05-25T06:49:51.693 回答