1

Ubuntu 12.04,单声道 2.10.8.1-5

我已经构建了 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)

..持续了近 900 行关于堆栈溢出、内存不足和看起来更无辜的事情。

除了“--help-trace”之外,我还没有找到任何关于跟踪选项的文档。我应该期待什么?这实际上是在报告问题吗?当我将 'console.writeline("hello world")' 包装在 try catch 块中时,不会引发异常。(当然,一个未处理的异常可能会使程序崩溃。)

我最初的程序是测试调用一个本地代码库,我将它简化为这个以查看它失败的地方。

如何将小麦与谷壳分开?

4

1 回答 1

3

那是预期的输出:没有抛出异常,但是运行时需要在启动时构建一些对象(例如 OutOfMemory 异常对象:当条件发生时,可能没有内存来分配它!)。

至于减少输出, --help-trace 有什么不清楚的地方?例如,如果您只想获取 System.IO 命名空间中的类和方法的跟踪,您将发出:

单声道--trace=N:System.IO program.exe

于 2012-08-24T07:07:37.103 回答