Affichages mémoire

org.eclipse.debug.ui.memoryRenderings

3.1 - remplacement du point d'extension memoryRenderingTypes considéré comme expérimental dans la version 3.0

Permet à des plug-ins de fournir des affichages arbitraires pour des blocs de mémoire et de lier des blocs de mémoire à des affichages. Par exemple, un affichage peut convertir des octets bruts d'un bloc de mémoire en des caractères ASCII.

<!ELEMENT extension (renderingType* | renderingBindings*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT renderingType EMPTY>

<!ATTLIST renderingType

name  CDATA #REQUIRED

id    CDATA #REQUIRED

class CDATA #REQUIRED>

Cet élément définit un type d'affichage.



<!ELEMENT renderingBindings (enablement*)>

<!ATTLIST renderingBindings

renderingIds CDATA #IMPLIED

primaryId    CDATA #IMPLIED

class        CDATA #IMPLIED

defaultIds   CDATA #IMPLIED>

Relie des blocs de mémoire à des affichages disponibles.



<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Elément racine générique. L'élément peut être utilisé dans un point d'extension pour définir son expression d'activation. Les enfants d'une expression d'activation sont combinés à l'aide de l'opérateur and.



<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>

Cet élément représente une opération NOT en résultat de l'évaluation de son expression de sous-élément.



<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Cet élément représente une opération AND en résultat de l'évaluation de ses expressions de sous-élément.



<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Cet élément représente une opération OR en résultat de l'évaluation de ses expressions de sous-élément.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Cet élément permet d'effectuer une instance de vérification de l'objet concerné. L'expression renvoie EvaluationResult.TRUE si le type de l'objet est un sous-type du type spécifié par la valeur de l'attribut. Dans le cas contraire, EvaluationResult.FALSE est renvoyé.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Cet élément permet d'évaluer l'état de la propriété de l'objet concerné. L'ensemble de propriétés testables peut être développé à l'aide du point d'extension du testeur de propriété. L'expression de test renvoie EvaluationResult.NOT_LOADED si le testeur de propriété effectuant le test réel n'est pas encore chargé.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Teste une propriété système en appelant la méthode System.getProperty et compare le résultat avec la valeur spécifiée via l'attribut value.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Cet élément permet d'effectuer une vérification d'égalité de l'objet concerné. L'expression renvoie EvaluationResult.TRUE si l'objet est égal à la valeur fournie par la valeur de l'attribut. Dans le cas contraire, EvaluationResult.FALSE est renvoyé.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Cet élément permet de tester le nombre d'éléments d'une collection.



<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST with

variable CDATA #REQUIRED>

Cet élément change l'objet à inspecter pour tous les éléments enfant en objet référencé par la variable donnée. Si la variable ne peut pas être résolue, l'expression émet une exception ExpressionException lors de l'évaluation. Les enfants d'une expression with sont combinés à l'aide de l'opérateur and.



<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Cet élément change l'objet à inspecter pour tous les éléments enfant en objet référencé par la variable donnée. Si la variable ne peut pas être résolue, l'expression émet une exception ExpressionException lors de l'évaluation. Les enfants d'une expression with sont combinés à l'aide de l'opérateur and.



<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST adapt

type CDATA #REQUIRED>

Cet élément permet d'adapter l'objet actif en fonction du type spécifié par le type d'attribut. L'expression renvoie l'indication "non chargé" si l'adaptateur ou le type référencé n'est pas encore chargé. Elle émet une exception ExpressionException lors de la détermination de l'existence du nom du type. Les enfants d'une expression adapt sont combinés à l'aide de l'opérateur and.



<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST iterate

operator (or|and) >

Cet élément permet d'effectuer une itération sur une variable qui est de type java.util.Collection. Si l'objet actif n'est pas du type java.util.Collection, une exception ExpressionException sera émise lors de l'évaluation de l'expression.



L'exemple suivant illustre la définition d'un nouveau type d'affichage et d'une liaison.

<extension point=

"org.eclipse.debug.ui.memoryRenderings"

>

<renderingType name=

"Sample Rendering"

id=

"com.example.sampleRendering"

class=

"com.example.SampleRenderingTypeDelegate"

>

</renderingType>

<renderingBindings renderingIds=

"com.example.sampleRendering"

>

<enablement>

<instanceof value=

"com.example.SampleMemoryBlock"

/>

</enablement>

</renderingBindings>

</extension>

Dans l'exemple ci-dessus, un nouveau type d'affichage, Sample Rendering, est défini. La classe com.example.SampleRenderingTypeDelegate implémente org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate et sera utilisée pour créer de nouveaux affichages de ce type. L'affichage est lié à des instances de com.exmaple.SampleMemoryBlock.

  • La valeur de l'attribut class dans un élément renderingType doit correspondre au nom qualifié complet d'une classe Java qui implémente org.eclipse.debug.ui.memory.IMemoryRenderingTypeDelegate.
  • La valeur de l'attribut class dans un élément renderingBindings doit correspondre au nom qualifié complet d'une classe Java qui implémente org.eclipse.debug.ui.memory.IMemoryRenderingBindingsProvider.
  • La plateforme de débogage fournit les types d'affichage suivants :

  • Affichage Hex (ID d'affichage : org.eclipse.debug.ui.rendering.raw_memory)
  • Affichage ASCII (ID d'affichage : org.eclipse.debug.ui.rendering.ascii)
  • Affichage de nombre entier signé (ID d'affichage : org.eclipse.debug.ui.rendering.signedint)
  • Affichage de nombre entier non-signé (ID d'affichage : org.eclipse.debug.ui.rendering.unsignedint)

  • La plateforme de débogage offre une vue de mémoire pour les affichages d'hôte.