📄 news
字号:
BASH_SUBSHELL and the debugger prints these as ()'s inside of the prompt. - "quit" leaves nested subshells more properly. Now takes an optional argument to specify how many subshells to leave.- Update gud.el (Masatake YAMATO), remove examples/bashdb/bashdb.el which may cause confusion and set expectations for examples/bashdb (via README)Version 0.33- Regression tests work on FreeBSD, OSX (as well as Linux and Solaris)- Fix following bugs: * exit handler was getting called each time we exited a subshell. * "bash --debugger script args" was not setting args properly. * (configure) remove --with-debugger-start which are for packages. Is variable DEBUGGER_START_FILE now. Versions are more automatically picked up from a central setting. (More could be done though). Thanks to c_thomps@ecolinux.no-ip.com. * not setting fntrace correctly on debugger exit. * wrong line number on case selector statement. Was esac rather than case. * was getting max line number for some files properly * (makefile) man2html.o not removed on clean- Be able to handle EXIT like other signals (stop/nostop stack/nostack).- Add provision for finding out which command is going to be executed. Useful on multi-statement lines, conditional tests, for-loop headers a eval (since the statement might be first "eval $foo" and then "echo this is my life." - Display command in debugger session we are on the same line/file and this command changed.- Canonicalize filevars via a file-expand routine. Allows many ways to refer to the same file.- Add option to have files show only short (basename) names, useful in testing- Add set/show of these (basename, debugging debugger).- Add -c option on bashdb. Analogous to "bash -c string"- correct releases automatically put in "bash -v" and debugger M commands.- Clean up signal handling code some. No longer need to pass LINENO. Add routine to do some of the common entry/exit things.Version 0.32- Line number reporting improved.- Fix bug in using trap line numbers inside traps. BASH_LINENO had been wrong for the parts inside of a trap.- Fix bug in case line numbers reporting line number of "esac" rather than case clause- Fix bug in "down" command- Bug in regression test run-all not picking up right shell sometimes.- Make command "x" (display variable) much more useful and smarter and more like perl5db's "x" command: show variable attributes (via declare -p) or function body (via declare -f) evaluates an expression if those fail and if *that* fails do what good ol' "print" would do.- Add gdb's: "condition" command. "info break <n>". "handle" command "info signal"- Signal handling more like gdb.- bashdb patches for ddd- Change help be more like gdb to facilitate ddd support.- Improve bashdb.el and patches for gud.el- Missing "finish" help info. Version 0.31- Fix bug where stack trace current line entry was sometimes wrong. No longer mangle line number in stack changing commands.- Implement gdb "finish" (some line number weirdnesses though.)- Don't clobber debugged script's INT or ERR trap signal if set, but do change them inside the debugger.- All debugger functions now start _bashdb- Expand history commands: "H -n" and "! n" work like perl5db. - short command v (versions) changed to M to match perl5db.Version 0.30- Fix bugs in debugger output when debugged program redirects I/O- Fix bug in setting $# via the way we set $1, $2 and so on. We now also handle an arbitrary number of parameters.- Fix/change history. Numbers now match prompt numbers. Can use !n, !-n as well as hi [-]n. Also ![-]n:p instead of H n. Can limit the number of history items listed on the H command.- Add GDB's "set args" command. - Add GDB's "set editing" command. - Add GDB's set/show prompt and allow for more flexible prompt customization.- Add GDB-like tty command and bashdb option -t for this. Unlike GDB though, you can redirect debugger output to a file.- Minor tweaks to "help" and "show". "show subtopic" works.Version 0.29- Fix bug in "make uninstall"- $? is saved and preserved for use inside "eval", "print", "watch", "display", "break" and "action" expressions.- Can also refer to $1, $2, ... in commands mentioned above.- debug-level nesting (the number of times we are nested in debugger) is now shown in prompt via new exported variable BASHDB_LEVEL.- Implement "skip" command. (Don't run next command.) Integrate this into "debug" command.- First cut at gdb-type "return" (premature return from function or sourced program).- Document caller() builtin function and "debug" debugger command. - "Search" now works like gdb and perl5db. Fix a small bug in search forward: was not resetting line to search location. Version 0.28- Can refer to parameters $1 $2, ... in "print", "eval" and breakpoint conditions.- Parameters appear in call stack. To do this: - BASH_ARGC and BASH_ARGV arrays added. One is a stack of the count of the parameters and the other a stack of the parameters. Version 0.27- Add forward and backward search.- Add Perl "a" and "A" (action) commands.- Add builtin caller().Version 0.26 - Document "break" command. - Change "line" to "linespec" in online help where appropriate.- Add commands "tbreak" (one-time break) and "display" (automatic display).- Add provision to debug into a script ("debug" command), and leave script without going back into debugger command loop (BASHDB_QUIT_ON_QUIT environment variable). - Document command "tbreak", "enable" and "disable" in manual.Version 0.25- Fix core dump on error (when no source file).- Fix bug where "watche x > 24" was creating output to file 24.- "restart" now picks up full bash name from BASH environment variable.- bash --debugger -c "..." now works. To accomplish the above, environment variable BASH_EXECUTION_STRING was added which contains the contents what was passed after -c.- Command files now nest and pick up where they left off in between script execution. - save "set" parameters on debugger entry and restore them. Inside the debugger: set +xv. - add ARG array for $1, $2 and so on. "info args" now shows these. - Revise and update doc for above and (hopefully) better overall organization. - Better installation instructions. Revise bash's top-level README and INSTALL's (debugger and top level) to note debugger changes.Version 0.24- Line numbers of initial "for var in..." and "select" listed or stopped. Error messages on those lines should print correctly.- Rename debugger variables so as not to conflict with possible user variables (such as "i").- Don't allow stepping into debugger on program exit. loop on command loop in "exit" handler. - Function names now supported. breakpoints can be set on them. "list" now allows a function name. To add function name support, the semantics of "declare -F" have changed: the source file and line number is now added in the output. However in non-interactive mode, the line number is wrong. It is the caller line.- These commands have been extended to include linespecs "continue", "break" (tbreak), "list".Version 0.23- More work on breakpoints and watchpoints, error checking * Allow breaking on file:line. * Give counts on number of times hit * Allow enabling/disabling/clearing watchpoints via "w" suffix- fix bugs handling break/watch conditions eval without a tty "-" command size wrong #comment handling make cmd_loop read safe from tampering with IFS- More texinfo manual revisions- Separate debugger tests from bash tests Version 0.22- More complete texinfo manual- Automake improvements to install Emacs lisp (Masatake YAMATO)- Set/show started- List with no arguments works like gdb and Perl's debugger list regression test added- Add frame command - Add signal handler for exit so we don't exit debugger when exiting program- case statements now indicate line number of "case WORD". Initial release -Initial release of something that's worthy of being called a debugger!In contrast to earlier ksh/bash debuggers, this release has: Line numbers and source text are reported correctly - through loops - through conditionals - inside functions - inside sourced filesA change in source file is now tracked - we don't assume one scriptfile nor do we create a fake script file with a funny name and runthat.Emacs support via GUD (grand-unified debugger)Step/next (to step inside a function or ignore it) now work - even works on "source"Call stack display. - Since "source" is a builtin function that shows up in the call stack - function names, filenames and line numbers appear in call stackCommand arguments to debugged routine are left intact (if using bash--debugger). In particular $0 is the program name.Debugging interface similar (and largely a subset of) Perl's debuggerinterface with gdb long mnemonics. (Well, okay: where - but perhapsmore in the future like "up" and "down").Even without using *our* debugging script, there are changes to bashthat make other debugging (or writing other debuggers) moreamenable. In particular, line numbers of command substitution ``,$(), and {}, now gives the absolute line number in the file ratherthan relative to the beginning of the substitution. (So errorreporting you generally see that an unhelpful message that erroroccurred on line 1.) Also support for call stacks with source filesand line numbers can be helpful for stand-alone debugging and errorreporting$Id: NEWS,v 1.33 2007/10/27 03:23:50 rockyb Exp $
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -