[squeak-dev] [Cuis-dev] Debugging FFI Calls

Juan Vuletich JuanVuletich at zoho.com
Mon Sep 3 12:16:46 UTC 2018


Thanks Eliot!

The Cuis FFI package is now updated with your code, just taken from 
Squeak FFI package.

Cheers,

-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich


On 8/27/2018 6:36 PM, Eliot Miranda via Cuis-dev wrote:
> Hi All,
>
>     the latest VMs support a new facility which catches and reports 
> exceptions during FFI calls as primitive failures.  That means that if 
> you have the relevant support code loaded (described below) and 
> depending on dialect, you write your FFI interface method to contain 
> an error code, or you're using the UnifiedFFI which uses 
> invokeWithArguments:, then any exception that occurs during the FFI 
> call will be caught and reported to use with the error code bound to 
> an instance of ExceptionInFFICall, which contains a platform-specific 
> error code and the pc at which it occurred.
>
> To use this facility you'll need to download a VM built yesterday or 
> later (it should be derived from VMMaker.oscog-eem.2435 or later), or 
> build your own from the tip of the Cog branch in opensmalltalk/vm.  
> You'll then need to update the image code to install 
> ExceptionInFFICall appropriately:
> in Pharo6 load SLICE 22367
> in Squeak load the latest FFI code from source.squeak.org/FFI 
> <http://source.squeak.org/FFI> and update your image from trunk
> in Cuis, you'll need to adapt these changes to Cuis (sorry!!)
>
> There are two command-line flags to override the default behavior. 
>  [-]-failonffiexception causes the handling to be applied to all FFI 
> calls, so if a method doesn't contain an error, you'll just see a 
> primitive failure, and if ExceptionInFFICall is not installed you'll 
> see only an error number in the call's error code.
>
> [-]-nofailonffiexception ignores exceptions during FFI calls, hence 
> defaulting to the old behavior of crashing the VM (which may be useful 
> if one is using a low-level debugger to debug the VM and/or external 
> code).
>
> HTH
> _,,,^..^,,,_
> best, Eliot
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180903/b0be9d97/attachment.html>


More information about the Squeak-dev mailing list