From b341b0ce13d5b432c9ae6d5c7b68b976650a4f62 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Fri, 28 Oct 2011 15:42:59 -0700 Subject: [PATCH] vm: only show factorbug basic commands at first "help" brings up the entire command list. --- vm/debug.cpp | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/vm/debug.cpp b/vm/debug.cpp index 2236bf8650..6787bdc725 100755 --- a/vm/debug.cpp +++ b/vm/debug.cpp @@ -343,7 +343,7 @@ void factor_vm::dump_code_heap() std::cout << printer.parameter_size << " bytes used by parameter tables" << std::endl; } -void factor_vm::factorbug_usage() +void factor_vm::factorbug_usage(bool advanced_p) { std::cout << "Basic commands:" << std::endl; #ifdef WINDOWS @@ -354,22 +354,30 @@ void factor_vm::factorbug_usage() std::cout << " c -- continue executing Factor - NOT SAFE" << std::endl; std::cout << " t -- throw exception in Factor - NOT SAFE" << std::endl; std::cout << " .s .r .c -- print data, retain, call stacks" << std::endl; - std::cout << " help -- reprint this message" << std::endl; - std::cout << "Advanced commands:" << std::endl; - std::cout << " e -- dump environment" << std::endl; - std::cout << " d -- dump memory" << std::endl; - std::cout << " u -- dump object at tagged " << std::endl; - std::cout << " . -- print object at tagged " << std::endl; - std::cout << " g -- dump generations" << std::endl; - std::cout << " ds dr -- dump data, retain stacks" << std::endl; - std::cout << " trim -- toggle output trimming" << std::endl; - std::cout << " data -- data heap dump" << std::endl; - std::cout << " words -- words dump" << std::endl; - std::cout << " tuples -- tuples dump" << std::endl; - std::cout << " refs -- find data heap references to object" << std::endl; - std::cout << " push -- push object on data stack - NOT SAFE" << std::endl; - std::cout << " gc -- trigger full GC - NOT SAFE" << std::endl; - std::cout << " code -- code heap dump" << std::endl; + if (advanced_p) + { + std::cout << " help -- reprint this message" << std::endl; + std::cout << "Advanced commands:" << std::endl; + std::cout << " e -- dump environment" << std::endl; + std::cout << " d -- dump memory" << std::endl; + std::cout << " u -- dump object at tagged " << std::endl; + std::cout << " . -- print object at tagged " << std::endl; + std::cout << " g -- dump generations" << std::endl; + std::cout << " ds dr -- dump data, retain stacks" << std::endl; + std::cout << " trim -- toggle output trimming" << std::endl; + std::cout << " data -- data heap dump" << std::endl; + std::cout << " words -- words dump" << std::endl; + std::cout << " tuples -- tuples dump" << std::endl; + std::cout << " refs -- find data heap references to object" << std::endl; + std::cout << " push -- push object on data stack - NOT SAFE" << std::endl; + std::cout << " gc -- trigger full GC - NOT SAFE" << std::endl; + std::cout << " code -- code heap dump" << std::endl; + } + else + { + std::cout << " help -- full help, including advanced commands" << std::endl; + } + std::cout << std::endl; } @@ -385,7 +393,7 @@ void factor_vm::factorbug() fep_p = true; std::cout << "Starting low level debugger..." << std::endl; - factorbug_usage(); + factorbug_usage(false); bool seen_command = false; for(;;) @@ -492,7 +500,7 @@ void factor_vm::factorbug() else if(strcmp(cmd,"gc") == 0) primitive_full_gc(); else if(strcmp(cmd,"help") == 0) - factorbug_usage(); + factorbug_usage(true); else std::cout << "unknown command" << std::endl; }