[lldb-dev] Call c/objc functions with the API
Jim Ingham
jingham at apple.com
Fri Feb 22 12:14:07 PST 2013
I'm not arguing for this, but you could do a fairly straightforward API like:
SBValue
SBValue::CallMethod(const char *methodName, SBValueList arguments);
This would only work if the SBValue was a C++ or ObjC object. In the ObjC case "methodName" would be the selector, and the value list would have to be in parameter order.
I can see this being useful, though probably under the covers it would take some work to get it right...
Jim
On Feb 22, 2013, at 11:51 AM, Filipe Cabecinhas <filcab+lldb-dev at gmail.com> wrote:
> I also don't think it should be in the SB layer. There's lots of stuff to deal with (arguments and their types, variable arguments selectors/functions, etc). I think creating an expression is better (maybe we can use clang so one doesn't have to generate an expression string?).
>
> Regards,
>
> filipe
>
>
> On Fri, Feb 22, 2013 at 10:23 AM, Enrico Granata <egranata at apple.com> wrote:
> Currently, no.
> You would have to craft your own expression and run it.
>
> The C++ data formatters have their own helper functions to do so. You can refer to lldb_private::formatters::ExtractValueFromObjCExpression for an example.
>
> I am not sure if this kind of API belongs in the SB layer. Ideas?
>
> Enrico Granata
> ✉ egranata@.com
> ✆ 27683
>
> On Feb 22, 2013, at 5:29 AM, Carlo Kok <ck at remobjects.com> wrote:
>
>> Does the api expose any way to execute an objc selector a given value (SBValue)? (for example I have an NSException instance in an SBValue, and want to call "name" on it).
>>
>>
>> What about global (c) functions?
>>
>>
>> If not the api, how can I do the equivalent with the underlying api?
>>
>>
>> Thanks,
>> --
>>
>> Carlo Kok
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
More information about the lldb-dev
mailing list