2010-02-16 63 views
0

如何調試單聲道項目?我似乎無法運行它。它完美地構建。但運行它是另一個問題。如何調試構建但無法運行的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)); 
     } 
+0

你可以發佈'PumaCode.SvnDotNet.AprSharp.AprString.ToString()'的代碼嗎? – 2010-02-16 17:46:21

+0

得到的代碼添加:) – nubela 2010-02-16 17:51:34

回答

1

顯然mString構件包含垃圾指針。從調用堆棧判斷,您需要SubversionSharp團隊的幫助。或者找出它爲什麼試圖處理Subversion錯誤。

在他們的網站的最後一篇文章的日期從2006年,「我們還沒死!」。雖然他們的論壇服務器對我來說看起來很死。祝你好運。