If, for some reason, the application didn't load clouseau_debug.so, the
snapshot opcodes are not known, resulting in Clouseau freezing forever.
fix T7017
This reverts commit 318ee74c88.
The changed there let to segfaults here, and it barelly worked, so new
changes are done after that, to get clouseau back to work mode now.
Summary:
All eolian API's require to use Eolian object.
The object introspection still doesn't works for me. At least clouseau
is compiling now.
Test Plan: Compile Clouseau with git efl.
Reviewers: ajwillia.ms, JackDanielZ, Deepwarrior, i.furs
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D5632
It seems that, after EFL update, dlsym began to make issues to find
EAPI functions.
Setting the EAPI definition in the extension file solves the issue.
Some buffers of 2K were allocated in the stack during the classes
buffering.
A crash was happening when the data was too big to fill most of the
stack buffer. This was rewriting the stack frames information.
When a return value is the only parameter of the function, a blank name
was displayed.
Additionally, the param name is not shown if there is only one parameter
for the function.
When the user wants to save the data (snapshot), Clouseau requests from
every running extension the data that is "exported".
All the data are then encapsulated into one single file.
The first idea was to use EET to store the extensions blobs as basic var
arrays. But it was taking so much time that is has been chosen that the
data itself is appended in the file after the EET blob. This one only
contains the app name/pid and the number of bytes of the blob, per
extension.
Additionnally, the objects introspection extension has been modified to
behave as the first Clouseau, i.e taking all the objects information in
one shot and using it during the interaction with the user.
The Save/Load button is now a part of the main toolbar.
It has been removed when the extentions feature has been introduced.
Now, when -f is used in the command line, a list of extensions is
displayed to request the user to choose the extension that needs to
handle this file.
The objects introspection, that has always been as a core part, is now
an extension, and can be not used.
The directories structure allows other extensions to be developed inside
the Clouseau tree, even if they can be developed outside.
Other extensions will be added and the extensions feature will be
adapted to fit all their requirements.