Yeah, in any case, it is not clear what we should do:

��- can't we extend the default debugger presentation?
��- or should we create a new presentation?
��- maybe we can do both, but then we have the question: is there a criteria to say "if X, extend the default presentation, if Y, create a new one"?
��- How to do it? We can just copy paste an existing class... but...
��- Also, what happens if we want to add a tab to **EVERY** debugger presentation next to the evaluate?

On Mon, May 15, 2017 at 8:22 AM, <tdupriez@ens-paris-saclay.fr> wrote:
I've looked at it, but I can't get to reproduce it. I have trouble finding an entry point to start understanding.

Quoting Denis Kudriashov <dionisiydk@gmail.com>:

Hi.

One possibility is to follow BytecodeDebugger approach. Try to look how it
is implemented

2017-05-12 9:53 GMT+02:00 <tdupriez@ens-paris-saclay.fr>:

Hello,

I would like to extend the debugger with some context-dependent
information.
I am playing with metalinks and I would like to show, in the debugger,
some information if my metalinks are in the selected method.
This means that:
- I need to add a new presentation in the debugger next to the "variable"
and "evaluator" ones.
- I need to filter that presentation to show it depending on which method
is selected.

I tried to extend ProtoObject with a method like:

gtDebuggerExpressionMachinViewIn: composite
�� �� �� �� <gtDebuggerPresentationOrder: 21>

�� �� �� �� composite text
�� �� �� �� �� �� �� �� title: 'My machin';
�� �� �� �� �� �� �� �� display: [ :browser :debugger | debugger asString]

However, this did not add a presentation in the debugger. It only show up
when selecting an object in the debugger inspector (see screenshot).

How can I extend the debugger as I want?

Thanks
Thomas and Guille









--

������

Guille Polito


Research Engineer

French National Center for Scientific Research - http://www.cnrs.fr



Web: http://guillep.github.io

Phone: +33 06 52 70 66 13