Binary package hint: monodevelop
I tested the debugger support in monodevelop and it turns out it does not work as expected. Whenever i execute in debug mode monodevelop actually enters the debug mode but i can't use any debug functions like stepping etc.
The following output is generated on the terminal:
foo@bar:~$ monodevelop
WARNING: Cannot find Mozilla directory containing libgtkembedmoz.so. Some Addins may not be able to function. Please set MOZILLA_FIVE_HOME to your Mozilla directory.
WARNUNG [2009-07-10 10:23:10Z]: Inotify watch limit is too low (8192).
MonoDevelop will switch to managed file watching.
See http://www.monodevelop.com/Inotify_Watches_Limit for more info.
PARSE LOAD: 112,104
## DebuggerServer started
** (/usr/lib/monodevelop/AddIns/MonoDevelop.Debugger/DebuggerServer.exe:10300): WARNING **: The following assembly referenced from /usr/lib/mono/gac/Mono.Debugger/1.0.0.0__0738eb9f132ed756/Mono.Debugger.dll could not be loaded:
Assembly: Mono.Cecil (assemblyref_index=3)
Version: 0.6.8.8607
Public Key: 0738eb9f132ed756
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/usr/lib/mono/gac/Mono.Debugger/1.0.0.0__0738eb9f132ed756/).
** (/usr/lib/monodevelop/AddIns/MonoDevelop.Debugger/DebuggerServer.exe:10300): WARNING **: Could not load file or assembly 'Mono.Cecil, Version=0.6.8.8607, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies.
EXCEPTION: System.TypeLoadException: A type load exception has occurred.
at (wrapper remoting-invoke-with-check) Mono.Debugger.Languages.Mono.MonoLanguageBackend:Notification (Mono.Debugger.Backend.SingleSteppingEngine,Mono.Debugger.Backend.Inferior,Mono.Debugger.Backend.NotificationType,Mono.Debugger.TargetAddress,long)
at Mono.Debugger.Backend.MonoThreadManager.HandleChildEvent (Mono.Debugger.Backend.SingleSteppingEngine engine, Mono.Debugger.Backend.Inferior inferior, Mono.Debugger.Backend.ChildEvent& cevent, System.Boolean& resume_target) [0x003b7] in /build/buildd/mono-debugger-2.4/backend/MonoThreadManager.cs:366
at Mono.Debugger.Backend.ThreadManager.HandleChildEvent (Mono.Debugger.Backend.SingleSteppingEngine engine, Mono.Debugger.Backend.Inferior inferior, Mono.Debugger.Backend.ChildEvent& cevent, System.Boolean& resume_target) [0x00101] in /build/buildd/mono-debugger-2.4/backend/ThreadManager.cs:201
at (wrapper remoting-invoke-with-check) Mono.Debugger.Backend.ThreadManager:HandleChildEvent (Mono.Debugger.Backend.SingleSteppingEngine,Mono.Debugger.Backend.Inferior,Mono.Debugger.Backend.Inferior/ChildEvent&,bool&)
at Mono.Debugger.Backend.SingleSteppingEngine.ProcessEvent (Mono.Debugger.Backend.ChildEvent cevent) [0x001e0] in /build/buildd/mono-debugger-2.4/backend/SingleSteppingEngine.cs:206
at Mono.Debugger.Backend.SingleSteppingEngine.ProcessEvent (Int32 status) [0x0000c] in /build/buildd/mono-debugger-2.4/backend/SingleSteppingEngine.cs:155
at (wrapper remoting-invoke-with-check) Mono.Debugger.Backend.SingleSteppingEngine:ProcessEvent (int)
at Mono.Debugger.Backend.ThreadManager.engine_thread_main () [0x000cd] in /build/buildd/mono-debugger-2.4/backend/ThreadManager.cs:324
It looks like Mono.Debugger is expecting a different version of the Mono.Cecil library than the one that is installed.
foo@bar:~# find /usr/lib/mono/gac/Mono.Cecil
/usr/lib/mono/gac/Mono.Cecil
/usr/lib/mono/gac/Mono.Cecil/0.6.9.0__0738eb9f132ed756
/usr/lib/mono/gac/Mono.Cecil/0.6.9.0__0738eb9f132ed756/Mono.Cecil.dll
I'm running ubuntu karmic alpha2.
Description: Ubuntu karmic (development branch)
Release: 9.10
monodevelop: 2.0+dfsg-2ubuntu2
monodevelop-debugger-mdb: 2.0-2ubuntu1
libmono-cecil-private-cil: 2.4+dfsg-5ubuntu1
I looked into this issue again and tried rebuilding the package mono-debugger_ 2.4.2-1 from source. This fixed the aforementioned problem i described in the original report. In addition i had to install the package mono-dbg_ 2.4+dfsg- 5ubuntu1 to make the mono debugger work correctly on monodevelop. I can debug c# applications using monodevelop now.
So this issue might be fixed by rebuilding the mono-debugger package and adding an additional package dependency to the mono-dbg package.