2012-08-23 50 views
1

Ubuntu 12.04,Mono 2.10.8.1-5'mono --trace myapp'?

我已經構建了MonoDevelop默認創建的「hello world」控制檯應用程序。它按預期運行。當我添加了跟蹤選項(定向到一個文件,或者沒有),我得到的東西是這樣的:

[0x7f24da6eb740: 0.00000 0] ENTER: (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr)([System.OutOfMemoryException:0x7f24da52af60], 0x7fff953e6510, (nil), 0x40e79a70,) 
[0x7f24da6eb740: 0.00012 1] ENTER: System.OutOfMemoryException:.ctor (string)(this:0x7f24da52af60[System.OutOfMemoryException monotracetest.exe], [STRING:0x7f24da551e70:Out of memory],) 
[0x7f24da6eb740: 0.00021 2] ENTER: System.SystemException:.ctor (string)(this:0x7f24da52af60[System.OutOfMemoryException monotracetest.exe], [STRING:0x7f24da551e70:Out of memory],) 
[0x7f24da6eb740: 0.00030 3] ENTER: System.Exception:.ctor (string)(this:0x7f24da52af60[System.OutOfMemoryException monotracetest.exe], [STRING:0x7f24da551e70:Out of memory],) 
[0x7f24da6eb740: 0.00031 3] LEAVE: System.Exception:.ctor (string) 

..going對棧溢出了近900條,內存,和更多的無辜樣子的東西。

我還沒有發現任何有關'--help-trace'之外跟蹤選項的文檔。我應該期待什麼?這實際上是報告問題嗎?當我在try catch塊中包裝'console.writeline(「hello world」)'時,不會引發異常。 (當然,大概一個未處理的異常會使程序崩潰。)

我原來的程序是測試調用一個本地代碼庫,然後我將它減少到這個以查看它失敗的位置。

我該如何將小麥與糠separate分開?

回答

3

這是預期的輸出:沒有拋出異常,但運行時需要在啓動時創建一些對象(例如OutOfMemory異常對象:當情況發生時可能沒有內存了,無法分配它!)。

至於減少輸出,什麼是不明確的 - 幫助跟蹤? 例如,如果你想獲得唯一的類和System.IO命名空間的方法的痕跡,你會發出:

單--trace = N:System.IO PROGRAM.EXE

+0

所以它會提前構建異常對象,以便它們在需要時可用。足夠合理。但是,由於它需要這樣做,我認爲會有一個簡單的標誌來關閉所有的功能,或者甚至默認關閉。我想--trace = N:mynamespace是要走的路。謝謝! – mickeyf