diff options
Diffstat (limited to 'man/ruby.1')
-rw-r--r-- | man/ruby.1 | 122 |
1 files changed, 98 insertions, 24 deletions
diff --git a/man/ruby.1 b/man/ruby.1 index 944844b639..a0cda14641 100644 --- a/man/ruby.1 +++ b/man/ruby.1 @@ -25,6 +25,7 @@ .Op Fl - Ns Bro Cm enable Ns | Ns Cm disable Brc Ns - Ns Ar FEATURE .Op Fl -dump Ns = Ns Ar target .Op Fl -verbose +.Op Fl -crash-report Ns = Ns Ar template .Op Fl - .Op Ar program_file .Op Ar argument ... @@ -100,10 +101,10 @@ different character encodings, without dependence on Unicode. .It Sy "Bignums" With built-in bignums, you can for example calculate factorial(400). .Pp -.It Sy "Reflection and domain specific languages" +.It Sy "Reflection and domain-specific languages" Class is also an instance of the Class class. Definition of classes and methods is an expression just as 1+1 is. So your programs can even write and modify programs. -Thus you can write your application in your own programming language on top of Ruby. +Thus, you can write your application in your own programming language on top of Ruby. .Pp .It Sy "Exception handling" As in Java(tm). @@ -271,6 +272,11 @@ In auto-split mode, Ruby executes .Dl $F = $_.split at beginning of each loop. .Pp +.It Fl -backtrace-limit Ns = Ns Ar num +Limits the maximum length of backtraces to +.Ar num +lines (default -1, meaning no limit). +.Pp .It Fl c Causes Ruby to check the syntax of the script and exit without executing. If there are no syntax errors, Ruby will print @@ -388,7 +394,7 @@ before executing script. .Pp .It Fl y .It Fl -yydebug -DO NOT USE. +This option is not guaranteed to be compatible. .Pp Turns on compiler debug mode. Ruby will print a bunch of internal state messages during compilation. Only specify this switch you are going to @@ -423,35 +429,37 @@ Dump some information. .Pp Prints the specified target. .Ar target -can be one of; +can be one of: .Bl -hang -offset indent .It Sy version -version description same as -.Fl -version +Print version description (same as +.Fl -version). .It Sy usage -brief usage message same as -.Fl h +Print a brief usage message (same as +.Fl h). .It Sy help -Show long help message same as -.Fl -help +Show long help message (same as +.Fl -help). .It Sy syntax -check of syntax same as +Check syntax (same as .Fl c -.Fl -yydebug -.It Sy yydebug -compiler debug mode, same as -.Fl -yydebug +.Fl -yydebug). +.Pp +.El .Pp -Only specify this switch if you are going to debug the Ruby interpreter. +Or one of the following, which are intended for debugging the interpreter: +.Bl -hang -offset indent -tag -width "parsetree_with_comment" +.It Sy yydebug +Enable compiler debug mode (same as +.Fl -yydebug). .It Sy parsetree +Print a textual representation of the Ruby AST for the program. .It Sy parsetree_with_comment -AST nodes tree -.Pp -Only specify this switch if you are going to debug the Ruby interpreter. +Print a textual representation of the Ruby AST for the program, but with each node annotated with the associated Ruby source code. .It Sy insns -disassembled instructions -.Pp -Only specify this switch if you are going to debug the Ruby interpreter. +Print a list of disassembled bytecode instructions. +.It Sy insns_without_opt +Print the list of disassembled bytecode instructions before various optimizations have been applied. .El .Pp .It Fl -verbose @@ -462,6 +470,12 @@ variable to true. If this switch is given, and no script arguments (script file or .Fl e options) are present, Ruby quits immediately. +.Pp +.It Fl -crash-report Ns = Ns Ar template +Sets the template of path name to save crash report. +See +.Ev RUBY_CRASH_REPORT +environment variable for details. .El .Pp .Sh ENVIRONMENT @@ -548,7 +562,12 @@ There are currently 4 possible areas where the GC may be tuned by the following 11 environment variables: .Bl -hang -compact -width "RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR" .It Ev RUBY_GC_HEAP_INIT_SLOTS -Initial allocation slots. Introduced in Ruby 2.1, default: 10000. +Initial allocation slots. Applies to all slot sizes. Introduced in Ruby 2.1, default: 10000. +.Pp +.It Ev RUBY_GC_HEAP_%d_INIT_SLOTS +Initial allocation of slots in a specific heap. +The available heaps can be found in the keys of `GC.stat_heap`. +Introduced in Ruby 3.3. .Pp .It Ev RUBY_GC_HEAP_FREE_SLOTS Prepare at least this amount of slots after GC. @@ -633,6 +652,61 @@ Machine stack size used at fiber creation. default: 262144 or 524288 .Pp .El +.Sh CRASH REPORT ENVIRONMENT +.Pp +.Bl -tag -compact -width "RUBY_CRASH_REPORT" +.It Ev RUBY_CRASH_REPORT +The template of path name to save crash report. +default: none +.El +.Ss Naming crash report files +The template can contain +.Li \fB%\fP +specifiers which are substituted by the following values when a crash +report file is created: +.Pp +.Bl -hang -compact -width "%NNN" +.It Li \fB%%\fP +A single +.Li \fB%\fP +character. +.It Li \fB%e\fP +Basename of executable. +.It Li \fB%E\fP +Pathname of executable, +with slashes (\fB/\fP) replaced by exclamation marks (\fB!\fP). +.It Li \fB%f\fP +Basename of the program name, +.Li "$0" . +.It Li \fB%F\fP +Pathname of the program name, +.Li "$0", +with slashes (\fB/\fP) replaced by exclamation marks (\fB!\fP). +.It Li \fB%p\fP +PID of dumped process. +.It Li \fB%t\fP +Time of dump, expressed as seconds since the +Epoch, 1970-01-01 00:00:00 +0000 (UTC). +.It Li \fB%NNN\fP +A character code in octal. +.El +.Pp +A single +.Li \fB%\fP +at the end of the template is dropped from the core filename, as is +the combination of a +.Li \fB%\fP +followed by any character other than those listed above. All other +characters in the template become a literal part of the core filename. +The template may include \(aq/\(aq characters, which are interpreted +as delimiters for directory names. +.Ss Piping crash reports to a program +If the first character of this file is a pipe symbol (\fB|\fP), +then the remainder of the line is interpreted as the command-line for +a program (or script) that is to be executed. +.Pp +The pipe template is split on spaces into an argument list before the +template parameters are expanded. .Sh SEE ALSO .Bl -hang -compact -width "https://www.ruby-toolbox.com/" .It Lk https://www.ruby-lang.org/ @@ -660,5 +734,5 @@ Ruby is designed and implemented by .An Yukihiro Matsumoto Aq matz@netlab.jp . .Pp See -.Aq Lk https://bugs.ruby-lang.org/projects/ruby/wiki/Contributors +.Aq Lk https://github.com/ruby/ruby/graphs/contributors for contributors to Ruby. |