The Monobjc bridge provides a simple mean to do some advanced debugging, when something is going wrong in your application. As both managed and native libraries are involved in an application using the Monobjc bridge, it is important to known which side throws the error or does something strange.
The debugging activation is based on an environment variable named
MONOBJC_LOG_LEVEL. The variable can be set to the following values :
error: This is the lowest level of debugging, which means that only errors will be printed out.
warn: This level will print out errors and warning.
info: This level will print out errors, warning and informationnal messages.
debug: Low-level log (class registration, proxy creation, messaging, etc.). Beware that this level will slow down the execution.
The debugging is done through these simple steps :
- Open a Terminal console. The Terminal application is found in
- Set the
MONOBJC_LOG_LEVELenvironment variable (see above). The command is typically export
xis the desired level.
- Launch the application by its command line. To launch a Cocoa application, type
APPNAMEis the name of your application.
The results will be lines of log that can help you to diagnose what is going wrong in the application.
Others Debugging Facilities
It is possible to use the environment variables listed in the Mac OS X Debugging Magic technical note. Some of them are very useful, like
NSZombie: it is used to identify messages sent to deallocated instances.