如何调试构建但无法运行的Mono项目?

时间:2010-02-16 17:40:24

标签: c# mono

如何调试单声道项目?我似乎无法运行它。它构建完美。但是运行它完全是另一个问题。

这是运行它的输出。

$ 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.SubversionSharp.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()方法

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

1 个答案:

答案 0 :(得分:1)

显然,mString成员包含一个垃圾指针。从调用堆栈来看,您需要SubversionSharp团队的帮助。或者找出它为什么试图处理Subversion错误。

他们网站上的最后一篇文章发布于2006年,“我们还没死!”。他们的论坛服务器虽然看起来很糟糕。祝你好运。