[Vm-dev] [Pharo-users] macOS VM builds with AddressSanitizer/LeakSanitizer
Alistair Grant
akgrant0710 at gmail.com
Mon Jan 28 18:29:04 UTC 2019
Hi Manuel,
On Mon, 28 Jan 2019 at 11:51, Manuel Leuenberger
<leuenberger at inf.unibe.ch> wrote:
>
> BlExternalForm >> primCreateManualSurfaceWidth: width height: height rowPitch: rowPitch depth: depth isMSB: isMSB
> <primitive: 'primitiveCreateManualSurface' module: 'SqueakFFIPrims'>
> self primitiveFailed
>
> How can I debug this?
My first suggestion would be to see if the primitive is returning a
descriptive error. The method would become (untested):
BlExternalForm >> primCreateManualSurfaceWidth: width height: height
rowPitch: rowPitch depth: depth isMSB: isMSB
<primitive: 'primitiveCreateManualSurface' module:
'SqueakFFIPrims' error: error>
self primitiveFailed
When the primitive fails, open the debugger, inspect this method in
the call stack and check the value of error. If the primitive hasn't
been found, error will be something like #'not found' (from memory).
If it's something else other than nil, report back with the value.
If error is nil it will be a matter of diving in to the Slang / C code
and figuring it out :-). If you've successfully built a debug version
of the VM, maybe the easiest next step is to set a breakpoint in
primitiveCreateManualSurface and step through?
Cheers,
Alistair
More information about the Vm-dev
mailing list