Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 11.10上的Mono 2.10.5运行时错误(可能是log4net?)_Ubuntu_Mono_Log4net - Fatal编程技术网

Ubuntu 11.10上的Mono 2.10.5运行时错误(可能是log4net?)

Ubuntu 11.10上的Mono 2.10.5运行时错误(可能是log4net?),ubuntu,mono,log4net,Ubuntu,Mono,Log4net,我已经通过apt安装了mono运行时,以便通过SSH在Ubuntu上运行我的mono控制台应用程序。但是,当我运行命令monomyapp.exe时,它退出,没有消息,我的程序什么也不做 如果我将-v开关切换到Mono,例如Mono-v myapp.exe,我将获得大约10k行输出(正如预期的那样,-v是详细的),前几行是: converting method System.OutOfMemoryException:.ctor (string) Method System.OutOfMemoryE

我已经通过
apt
安装了
mono运行时
,以便通过SSH在Ubuntu上运行我的mono控制台应用程序。但是,当我运行命令monomyapp.exe时,它退出,没有消息,我的程序什么也不做

如果我将
-v
开关切换到Mono,例如
Mono-v myapp.exe
,我将获得大约10k行输出(正如预期的那样,
-v
是详细的),前几行是:

converting method System.OutOfMemoryException:.ctor (string)
Method System.OutOfMemoryException:.ctor (string) emitted at 0xb7052c28 to 0xb7052c4b (code length 35) [myapp.exe]
converting method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object     (object,intptr,intptr,intptr)
Method (wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr) emitted at 0xb7052c68 to 0xb7052cf6 (code length 142)     [myapp.exe]
converting method System.SystemException:.ctor (string)

初始化Mono运行时,您看到的
OutOfMemoryException
总是分配的

为什么?因为如果(以及何时)需要
OutOfMemoryException
实例,那么尝试分配一个实例将是一个糟糕的时机:-)


这是完全正常的,因为它只是被缓存起来,如果需要的话,可以在以后使用。遗憾的是,这意味着您真正的错误在别处。

您正在使用一个将调用Environment.Exit的日志框架。出现致命错误时退出(这似乎是到postgres数据库的连接错误,可能是地址/端口不正确或服务器配置错误?)


您应该将log4net配置为不执行此操作,或者检查它将日志放在何处,以了解应用程序遇到的确切错误并更正它。

感谢您的深入了解,我甚至没有想到预分配。我将继续浏览输出。如果有人好奇的话,我已经编辑了这个问题,其中包括了大量的输出。如果是这样的话,其他系统上是否也会出现症状?我正在使用的log4net配置文件在所有机器上都是相同的。其他服务器可能有权访问数据库,而这个服务器可能没有(postgres的默认安装通常只允许从本地主机访问)。
log4net: log4net assembly [log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a]. Loaded from     [/mnt/ebs/911dispatch/scrapers/WA/Seattle/log4net.dll]. (.NET Runtime [4.0.30319.1] on Unix 3.0.0.12)
log4net: defaultRepositoryType [log4net.Repository.Hierarchy.Hierarchy]
log4net: Creating repository for assembly [Seattle911.Backend.Scraper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]
log4net: Assembly [Seattle911.Backend.Scraper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null] Loaded From [/mnt/ebs/911dispatch/scrapers/WA/Seattle/Seattle911.Backend.Scraper.exe]
log4net: Assembly [Seattle911.Backend.Scraper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net: Assembly [Seattle911.Backend.Scraper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy]
log4net: Creating repository [log4net-default-repository] using type [log4net.Repository.Hierarchy.Hierarchy]
log4net: Creating repository for assembly [Seattle911.DAL, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]
log4net: Assembly [Seattle911.DAL, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null] Loaded From [/mnt/ebs/911dispatch/scrapers/WA/Seattle/Seattle911.DAL.dll]
log4net: Assembly [Seattle911.DAL, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null] does not have a RepositoryAttribute specified.
log4net: Assembly [Seattle911.DAL, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null] using repository [log4net-default-repository] and repository type [log4net.Repository.Hierarchy.Hierarchy]
log4net: repository [log4net-default-repository] already exists,     using repository type [log4net.Repository.Hierarchy.Hierarchy]log4net: Shutdown called on Hierarchy [log4net-default-repository]