5. Name Manglers and Displayers

5. Name Manglers and Displayers

Browsing

Home: Bugloo 0.3.0 reference manual

Previous chapter: Execution control
Next chapter: Getting informations during execution

Name Manglers and Displayers

5.1 Name Manglers
5.2 Displayers

Chapters

1. Quick introduction
2. Starting the debugger
3. Break requests commands
4. Execution control
5. Name Manglers and Displayers
6. Getting informations during execution
7. Debug sessions
8. Debugging of Memory Allocation
9. Recording events during the execution
10. Miscellaneous commands
11. Manual Index

5.1 Name Manglers

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

argumentdescription
<ident>::symbola name that represent a mangler
<classname>::symbolthe 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.

5.2 Displayers

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

argumentdescription
<mangler>::symbola name that represent a mangler
<mangler>::symbola name that represent a displayer
<classname>::symbolthe 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

This page has been generated by Scribe.
Last update Thu Aug 28 17:12:18 2003