swifton
rubyon と同じように、swift の実行環境をコマンドで立ち上げるようにする。
swifton
#!/bin/sh PATH="$HOME/Documents/Swift/usr/bin:$PATH" cd ~/Documents/Swift/ gnome-terminal
コマンド化は rubyon の記事と同じなので書かない。
REPL の :help
デバッガの使い方。
Welcome to Swift version 3.0 (swift-3.0-RELEASE). Type :help for assistance. 1> :help The REPL (Read-Eval-Print-Loop) acts like an interpreter. Valid statements, expressions, and declarations are immediately compiled and executed. The complete set of LLDB debugging commands are also available as described below. Commands must be prefixed with a colon at the REPL prompt (:quit for example.) Typing just a colon followed by return will switch to the LLDB prompt. Debugger commands: apropos -- List debugger commands related to a word or subject. breakpoint -- Commands for operating on breakpoints (see 'help b' for shorthand.) bugreport -- Commands for creating domain-specific bug reports. command -- Commands for managing custom LLDB commands. disassemble -- Disassemble specified instructions in the current target. Defaults to the current function for the current thread and stack frame. expression -- Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. frame -- Commands for selecting and examing the current thread's stack frames. gdb-remote -- Connect to a process via remote GDB server. If no host is specifed, localhost is assumed. gui -- Switch into the curses based GUI mode. help -- Show a list of all debugger commands, or give details about a specific command. kdp-remote -- Connect to a process via remote KDP server. If no UDP port is specified, port 41139 is assumed. language -- Commands specific to a source language. log -- Commands controlling LLDB internal logging. memory -- Commands for operating on memory in the current target process. platform -- Commands to manage and create platforms. plugin -- Commands for managing LLDB plugins. process -- Commands for interacting with processes on the current platform. quit -- Quit the LLDB debugger. register -- Commands to access registers for the current thread and stack frame. script -- Invoke the script interpreter with provided code and display any results. Start the interactive interpreter if no code is supplied. settings -- Commands for managing LLDB settings. source -- Commands for examining source code described by debug information for the current target process. target -- Commands for operating on debugger targets. thread -- Commands for operating on one or more threads in the current process. type -- Commands for operating on the type system. version -- Show the LLDB debugger version. watchpoint -- Commands for operating on watchpoints. Current command abbreviations (type ':help command alias' for more info): add-dsym -- ('target symbols add') Add a debug symbol file to one of the target's current modules by specifying a path to a debug symbols file, or using the options to specify a module to download symbols for. attach -- ('_regexp-attach') Attach to process by ID or name. b -- ('_regexp-break') Set a breakpoint using one of several shorthand formats. bt -- ('_regexp-bt') Show the current thread's call stack. Any numeric argument displays at most that many frames. The argument 'all' displays all threads. c -- ('process continue') Continue execution of all threads in the current process. call -- ('expression --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. continue -- ('process continue') Continue execution of all threads in the current process. detach -- ('process detach') Detach from the current target process. di -- ('disassemble') Disassemble specified instructions in the current target. Defaults to the current function for the current thread and stack frame. dis -- ('disassemble') Disassemble specified instructions in the current target. Defaults to the current function for the current thread and stack frame. display -- ('_regexp-display') Evaluate an expression at every stop (see 'help target stop-hook'.) down -- ('_regexp-down') Select a newer stack frame. Defaults to moving one frame, a numeric argument can specify an arbitrary number. env -- ('_regexp-env') Shorthand for viewing and setting environment variables. exit -- ('quit') Quit the LLDB debugger. f -- ('frame select') Select the current stack frame by index from within the current thread (see 'thread backtrace'.) file -- ('target create') Create a target using the argument as the main executable. finish -- ('thread step-out') Finish executing the current stack frame and stop after returning. Defaults to current thread unless specified. image -- ('target modules') Commands for accessing information for one or more target modules. j -- ('_regexp-jump') Set the program counter to a new address. jump -- ('_regexp-jump') Set the program counter to a new address. kill -- ('process kill') Terminate the current target process. l -- ('_regexp-list') List relevant source code using one of several shorthand formats. list -- ('_regexp-list') List relevant source code using one of several shorthand formats. n -- ('thread step-over') Source level single step, stepping over calls. Defaults to current thread unless specified. next -- ('thread step-over') Source level single step, stepping over calls. Defaults to current thread unless specified. nexti -- ('thread step-inst-over') Instruction level single step, stepping over calls. Defaults to current thread unless specified. ni -- ('thread step-inst-over') Instruction level single step, stepping over calls. Defaults to current thread unless specified. p -- ('expression --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. parray -- ('expression -Z %1 --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. po -- Evaluate an expression on the current thread. Displays any returned value with formatting controlled by the type's author. poarray -- ('expression -O -Z %1 --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. print -- ('expression --') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. q -- ('quit') Quit the LLDB debugger. r -- ('process launch -c /bin/sh --') Launch the executable in the debugger. rbreak -- ('breakpoint set -r %1') Sets a breakpoint or set of breakpoints in the executable. repl -- ('expression -r -- ') Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. run -- ('process launch -c /bin/sh --') Launch the executable in the debugger. s -- ('thread step-in') Source level single step, stepping into calls. Defaults to current thread unless specified. si -- ('thread step-inst') Instruction level single step, stepping into calls. Defaults to current thread unless specified. sif -- Step through the current block, stopping if you step directly into a function whose name matches the TargetFunctionName. step -- ('thread step-in') Source level single step, stepping into calls. Defaults to current thread unless specified. stepi -- ('thread step-inst') Instruction level single step, stepping into calls. Defaults to current thread unless specified. t -- ('thread select') Change the currently selected thread. tbreak -- ('_regexp-tbreak') Set a one-shot breakpoint using one of several shorthand formats. undisplay -- ('_regexp-undisplay') Stop displaying expression at every stop (specified by stop-hook index.) up -- ('_regexp-up') Select an older stack frame. Defaults to moving one frame, a numeric argument can specify an arbitrary number. x -- ('memory read') Read from the memory of the current target process. For more information on any command, type ':help <command-name>'.