mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
Reworked version of Forth Source debugger (Mark Cave-Ayland)
This patch implements the following Forth words:
debug <xt> - Mark word for debugging
debug-off - Unmark all words for debugging
resume - Return from subordinate Forth interpreter
The source debugger also implements the following commands when it has
been activated:
Up - Unmark current word for debugging, mark parent and continue
Down - Mark next word for debugging
Trace - Continue execution until end of word displaying
debug information
Rstack - Display contents of the Rstack
Forth - Launch subordinate Forth interpreter
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@611 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
\
|
||||
|
||||
0 value interactive?
|
||||
0 value terminate?
|
||||
|
||||
: exit?
|
||||
interactive? 0= if
|
||||
@@ -122,7 +123,8 @@ defer outer-interpreter
|
||||
refill
|
||||
|
||||
['] interpret catch print-status
|
||||
again
|
||||
terminate?
|
||||
until
|
||||
; ['] outer-interpreter (to)
|
||||
|
||||
\
|
||||
|
||||
@@ -62,11 +62,16 @@
|
||||
|
||||
|
||||
\ 7.5.3.4 Forth source-level debugger
|
||||
|
||||
|
||||
: debug ( "old-name< >" -- )
|
||||
;
|
||||
|
||||
: (debug ( xt -- )
|
||||
parse-word \ Look up word CFA in dictionary
|
||||
$find
|
||||
0 = if
|
||||
." could not locate word for debugging"
|
||||
2drop
|
||||
else
|
||||
(debug
|
||||
then
|
||||
;
|
||||
|
||||
: stepping ( -- )
|
||||
@@ -76,7 +81,10 @@
|
||||
;
|
||||
|
||||
: debug-off ( -- )
|
||||
(debug-off)
|
||||
;
|
||||
|
||||
: resume ( -- )
|
||||
\ Set interpreter termination flag
|
||||
1 to terminate?
|
||||
;
|
||||
|
||||
@@ -62,9 +62,9 @@ create vocabularies #vocs cells allot \ word lists
|
||||
\ which new definitions will be placed.
|
||||
cr
|
||||
get-order 0 ?do
|
||||
." wordlist " i (.) type 2e emit space . cr
|
||||
." wordlist " i (.) type 2e emit space u. cr
|
||||
loop
|
||||
cr ." definitions: " current @ . cr
|
||||
cr ." definitions: " current @ u. cr
|
||||
;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user