开发者

How to debug a Mono project that builds but can't run?

开发者 https://www.devze.com 2022-12-20 03:28 出处:网络
How do I debug a mono project? I can\'t seem to run it. It builds perfectly. But running it is another issue altogether.

How do I debug a mono project? I can't seem to run it. It builds perfectly. But running it is another issue altogether.

This is the output from running it.

$ mono SvnTest.exe update
Stacktrace:

  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal.PtrToStringAnsi (intptr) <0x00045>
  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal.PtrToStringAnsi (intptr) <0x00045>
  at PumaCode.SvnDotNet.AprSharp.AprString.ToString () <0x0004b>
  at PumaCode.SvnDotNet.Subver开发者_JS百科sionSharp.SvnException.ExtractMessage (PumaCode.SvnDotNet.SubversionSharp.SvnError) <0x00033>
  at PumaCode.SvnDotNet.SubversionSharp.SvnException..ctor (PumaCode.SvnDotNet.SubversionSharp.SvnError) <0x0001b>
  at PumaCode.SvnDotNet.SubversionSharp.SvnClient.Update (PumaCode.SvnDotNet.SubversionSharp.SvnPath,PumaCode.SvnDotNet.SubversionSharp.SvnOptRevision,bool,PumaCode.SvnDotNet.SubversionSharp.SvnClientContext,PumaCode.SvnDotNet.AprSharp.AprPool) <0x000e3>
  at PumaCode.SvnDotNet.SubversionSharp.SvnClient.Update (string,PumaCode.SvnDotNet.SubversionSharp.SvnRevision,bool) <0x0009f>
  at PumaCode.SvnDotNet.SubversionSharp.SvnMockApp.UpdateCmd.Execute () <0x0015f>
  at PumaCode.SvnDotNet.SubversionSharp.SvnMockApp.CmdBase.Run (PumaCode.SvnDotNet.SubversionSharp.SvnMockApp.Application/SubCommand,string[]) <0x00551>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int__this___object_object (object,intptr,intptr,intptr) <0x00060>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (object,object[],System.Exception&) <0x00057>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (object,object[],System.Exception&) <0x00057>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x001ab>
  at System.Reflection.MethodBase.Invoke (object,object[]) <0x0002d>
  at PumaCode.SvnDotNet.SubversionSharp.SvnMockApp.Application.Run (string[]) <0x0034b>
  at PumaCode.SvnDotNet.SubversionSharp.SvnMockApp.Application.Main (string[]) <0x00037>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <0x00054>

Native stacktrace:

        mono() [0x48419c]
        mono() [0x4ce1bf]
        /lib/libpthread.so.0(+0xee80) [0x7f64b72b2e80]
        /lib/libc.so.6(strlen+0x12) [0x7f64b6d477c2]
        mono(mono_string_new+0x1d) [0x57f80d]
        [0x4047e705]

Debug info from gdb:


=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted

toString() method

public override string ToString()
        {
            if(IsNull)
                return ("[apr_string:NULL]");
            else
                return (Marshal.PtrToStringAnsi(mString));
        }


Clearly the mString member contains a garbage pointer. Judging from the call stack, you'll need help from the SubversionSharp team. Or find out somehow why it is trying to handle a Subversion error.

The last post at their web site dates from 2006, "We're not dead!". Their forum server looks pretty dead to me though. Good luck.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号