An open API service indexing awesome lists of open source software.

https://github.com/alanmcgovern/gobject-tracker

Tracks allocated gobject instances and gives a managed/native backtrace.
https://github.com/alanmcgovern/gobject-tracker

Last synced: about 2 months ago
JSON representation

Tracks allocated gobject instances and gives a managed/native backtrace.

Awesome Lists containing this project

README

        

Compilation:

Just run `make` inside the main directory.

Installation:

Run `make install` to install the module into a side-by-side monodevelop
checkout. If your monodevelop is somewhere else then set the correct path
using the `MONODEVELOP_BIN_DIR` variable.

Usage:

If you are compiling xamarin studio from source, just use

$ cd monodevelop && make run-leaks

Alternatively, export these two environment variables and then launch Xamarin Studio.
This method may be less accurate as it does not set up dllmaps in mono.

DYLD_FORCE_FLAT_NAMESPACE=1
DYLD_INSERT_LIBRARIES=/full/path/to/gobject-tracker/libgobject-tracker.dylib

Send the `USR1` signal to your running Xamarin Studio instance to queue a
dump of all living objects.

$ kill -USR1 $pid_of_xamarin_studio

You will have to trigger the creation, ref or unref of a gtk object in order
to perform the queued object dump. It is not safe to attempt to perform the
dump inside a signal handler. You can trigger this by just mousing over
Xamarin Studio.

Additional features:

By default all object creation/ref/unref operations will be logged. If you wish
to gather stacktraces for each event just export this environment variable:

LOG_FLAGS=all

If you wish to gather data for just one object type export something like this:

LOG_TYPE=GtkFrame