Allow toggling memory part of memory dump

This commit is contained in:
Joscha 2019-11-25 10:02:08 +00:00
parent 72e21d6ff2
commit d5d29a8180
3 changed files with 6 additions and 5 deletions

View file

@ -153,7 +153,6 @@ printState ms flags labels settings = do
lift $ putStrLn ""
lift $ putStrLn "Dump of MiMa state:"
lift $ T.putStrLn $ formatState formatEnv
lift $ putStrLn ""
-- TODO exception handling
main :: IO ()

View file

@ -35,6 +35,7 @@ import Mima.Word
data FormatConfig = FormatConfig
{ fcSparse :: Bool
, fcShowRegisters :: Bool
, fcShowMemory :: Bool
, fcShowMemoryFlags :: Bool
, fcShowRegisterFlags :: Bool
, fcShowAddressDec :: Bool
@ -203,11 +204,10 @@ fState :: Formatter
fState = do
env <- ask
let conf = feConf env
memText <- ("--< MEMORY >--\n" <>) <$> fMemory
regText <- ("--< REGISTERS >--\n" <>) <$> fRegisters
pure $ if fcShowRegisters conf
then regText <> memText
else memText
memText <- ("--< MEMORY >--\n" <>) <$> fMemory
pure $ (if fcShowRegisters conf then regText else "")
<> (if fcShowMemory conf then memText else "")
formatState :: FormatEnv -> T.Text
formatState = runReader fState

View file

@ -38,6 +38,8 @@ formatConfigParser = FormatConfig
"Omit uninteresting addresses"
<*> hiddenSwitchWithNo "registers" True
"Show the contents of registers before the memory dump"
<*> hiddenSwitchWithNo "memory" True
"Show the memory dump"
<*> hiddenSwitchWithNo "memory-flags" False
"For each address, show all registers currently pointing to that address"
<*> hiddenSwitchWithNo "register-flags" True