[Mono-list] The state of heap-shot profiling in mono
dan at su-root.co.uk
Wed May 6 22:12:02 UTC 2015
I'd like to know what the current state of heap-shot profiling is in
mono (3.12.1). I've been trying to use the heap-shot-gui tool  and
it seems pretty broken. Here's what I've tried
## Instructions in heap-shot's README 
These tell me to use
$ mono --profile=heap-shot MyProgram.exe
This doesn't work mono reports
The 'heap-shot' profiler wasn't found in the main executable nor could
it be loaded from 'mono-profiler-heap-shot'.
Taking a look via strace. It seems mono tries to load
``/usr/lib/libmono-profiler-heap-shot.so`` which doesn't exist so I'm
guessing this doesn't work any more?
## Instructions on Mono's website 
These instructions tell me to use
$ mono --gc=sgen --profile=log:heapshot MyProgram.exe
This actually does generate a file (output.mlpd) but the heap-shot gui
cannot open it. It throws an exception.
System.Exception: Unknown sample event type: 48
(HeapShot.Reader.LogFileReader reader, Byte exinfo) [0x00000] in
(HeapShot.Reader.LogFileReader reader, EventType type, Byte
extendedInfo) [0x00000] in <filename unknown>:0
at MonoDevelop.Profiler.Event.Read (HeapShot.Reader.LogFileReader
reader) [0x00000] in <filename unknown>:0
at HeapShot.Reader.ObjectMapReader.ReadLogFile (IProgressListener
progress) [0x00000] in <filename unknown>:0
at HeapShot.Reader.ObjectMapReader.Read (IProgressListener progress)
[0x00000] in <filename unknown>:0
ObjectMapFileReader.Read (): Completed in 0.016 s
I saw there was a pull request  that tries to adapt heap-shot to
the binary format outputted by 3.10.2, this seemed to work for 3.12.2
which I'm using. This seemed to fix my issue.
Is there a reason this pull request has been completely ignored?
More information about the Mono-list