Hi Hans, Thanks for the great feedback and solution. The debugger needs some slight changes in order to work in a relocated environment.
I went ahead and filed a bug: http://bugzilla.ximian.com/show_bug.cgi?id=77062 Wade On Wed, 2005-12-21 at 18:42 +0100, Hans Kratz wrote: > Hi! > > I tried to use mdb for some Mono.Debugger library testing and > encountered some some problems with the way it is shipped in the Mono > 1.1.12 Linux installer. > > I used the installer to install mono in my home directory on Debian > Unstable. > > > The problems: > > 1) mdb does not start. > > [EMAIL PROTECTED]:~$ cat ~/mono-1.1.12/bin/mdb > mono --debug /usr/lib/mono/1.0/mdb.exe $* > > As you can see the assembly path is wrong causing mdb to fail on > startup. Furthermore exec should be used and the full path to the mono > binary should be specified (as is done e.g. in the mcs shell script). > > > 2) Starting mdb using the correct path does not work either. > > [EMAIL PROTECTED]:~$ ~/mono-1.1.12/bin/mono ~/mono-1.1.12/lib/mono/1.0/mdb.exe > > Unhandled Exception: System.TypeInitializationException: An exception > was thrown by the type initializer for > Mono.Debugger.Frontend.CommandLineInterpreter ---> > System.DllNotFoundException: monodebuggerserver > in (wrapper managed-to-native) > Mono.Debugger.Frontend.CommandLineInterpreter:mono_debugger_server_static_init > > () > in <0x00007> Mono.Debugger.Frontend.CommandLineInterpreter:.cctor ()--- > End of inner exception stack trace --- > > I am not sure how this is supposed to work. Setting the LD_LIBRARY_PATH > helped however: > > [EMAIL PROTECTED]:~$ export LD_LIBRARY_PATH=~/mono-1.1.12/lib/ > [EMAIL PROTECTED]:~$ ~/mono-1.1.12/bin/mono ~/mono-1.1.12/lib/mono/1.0/mdb.exe > Mono Debugger > (mdb) > > > 3) Even then mdb can not be used for actual debugging. > > [EMAIL PROTECTED]:/tmp/Debug$ ~/mono-1.1.12/bin/mono > ~/mono-1.1.12/lib/mono/1.0/mdb.exe ConsoleApplication70.exe > Mono Debugger > (mdb) run > Starting program: ConsoleApplication70.exe > Corlib not in sync with this runtime: expected corlib version 45, found 41. > Download a newer corlib or a newer runtime at http://www.go-mono.com/daily. > > Here mdb tries to use /usr/lib/mono/1.0/mscorlib.dll. I assume this is > because mdb starts the child process using mono-debugger-mini-wrapper > and mono-debugger-mini-wrapper is not recognized in mono/os/unix/util.c > which is responsible for the correct setup via mono_set_dirs. > > Setting MONO_PATH and MONO_CFG_DIR manually seems to resolve this: > > [EMAIL PROTECTED]:/tmp/Debug$ export MONO_PATH=~/mono-1.1.12/lib/mono/1.0/ > [EMAIL PROTECTED]:/tmp/Debug$ export MONO_CFG_DIR=~/mono-1.1.12/etc/ > [EMAIL PROTECTED]:/tmp/Debug$ ~/mono-1.1.12/bin/mono > ~/mono-1.1.12/lib/mono/1.0/mdb.exe ConsoleApplication70.exe > Mono Debugger > (mdb) run > Starting program: ConsoleApplication70.exe > Process @4 stopped at #0: 0xb789f73b in > ConsoleApplication70.Program.Main(System.String[])+0xb at > /home/hans/.xdevelop/projects/ConsoleApplication70/ConsoleApplication70/Program.cs:11. > 11 Console.WriteLine("Hello world!"); > (mdb) > > > I hope this analysis helps to improve the mdb and mdb packaging. > > > Best regards, > > > Hans
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list