Debuggee programs can be coded in Scheme, in Java or be a mix of both. This
implies that Bugloo must be aware of the source language of objects
he's trying to display.
(mangler list) | Bugloo command |
Display loaded manglers
(mangler add <ident> <classname>) | Bugloo command |
Add a new mangler named <ident> before each other
argument | description |
<ident>::symbol | a name that represent a mangler |
<classname>::symbol | the JVM class that implements the mangler |
When Bugloo is started, two default name manglers are loaded in the
debugger : one for Scheme and one for Java.
(mangler add java bugloo.features.JavaNameMangler)
(mangler add bigloo bugloo.features.BiglooNameMangler) |
When a name is to be printed, first mangler test if it is able to
demangle the name. If not, name is passed to the next mangler and so
on until the last mangler.
For the same reasons as Name Manglers, it might be useful to display
every kind of object in its own manner. Indeed, the value of Java
objets are traditionnaly displayed by using a toString()
method, while in Bigloo they are by using the write method.
Bugloo lets you choose the way you want to display objects with
respect to a particular Name Mangler.
(displayer) | Bugloo command |
Show the current Displayer for each registered Name Mangler
(displayer list) | Bugloo command |
Show all known Displayers for each registered Name Mangler
(displayer set <mangler> <displayer>) | Bugloo command |
Set the current Displayer for each a specific Name Mangler
(displayer add <mangler> <displayer> <classname>) | Bugloo command |
Add a Displayer to a specific Name Mangler
argument | description |
<mangler>::symbol | a name that represent a mangler |
<mangler>::symbol | a name that represent a displayer |
<classname>::symbol | the JVM class that implements the displayer |
By default, several Displayers are loaded when the
debugger starts.
(bugloo) (displayer list)
bigloo:
write-circle
write
display
default
java:
tostring
default |
|