Ryujinx-GtkSharp/gui-thread-check
Andres G. Aragoneses 00c1a731ac gui-thread-check: Moved gui-thread-check sources into a new subdir
In preparation for the move to gtk-sharp upstream preserving history.
2012-11-03 23:00:08 +00:00
..
profiler gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
aclocal.m4 gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
AUTHORS gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
autogen.sh gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
ChangeLog gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
configure.in gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
COPYING gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
gui-thread-check.sln gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
INSTALL gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
Makefile.am gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
NEWS gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00
README gui-thread-check: Moved gui-thread-check sources into a new subdir 2012-11-03 23:00:08 +00:00

The gui-thread-check profile module
===================================

This profiler module can be used to check if a GTK# application is trying to
invoke gtk or gdk methods from a thread which is not the main GUI thread.

To use it, build and install the module, and then run your application with
the command:

  mono --profile=gui-thread-check yourapp.exe

If the profiler is properly installed, you'll see an output like this:

*** Running with gui-thread-check ***
*** GUI THREAD INITIALIZED: 2861676352

While the application is running, if the profiler detects a non-gui thread
invoking gtk methods, it will print a warning message together with a
stack trace. For example:

*** GTK CALL NOT IN GUI THREAD: Widget.gtk_widget_get_parent
   Widget.get_Parent
   SourceEditorWidget.SetLastActiveEditor
   SourceEditorWidget.get_TextEditor
   SourceEditorWidget.get_Document
   SourceEditorWidget.HandleParseInformationUpdaterWorkerThreadDoWork
   BackgroundWorker.OnDoWork
   BackgroundWorker.ProcessWorker