【问题标题】:Strange debug output in app since upgrade to Visual Studio 2017 15.3.0自升级到 Visual Studio 2017 15.3.0 后,应用程序中出现奇怪的调试输出
【发布时间】:2018-01-23 04:55:36
【问题描述】:

自从我升级到 Visual Studio 2017 15.3.0 后,我的 xamarin android 应用程序不断打印以下调试输出:

08-15 09:13:23.275 D/Mono    ( 3119): [0x9a5be930] worker unparking, timeout? no interrupted? no
08-15 09:13:23.275 D/Mono    ( 3119): [0x9a5be930] worker parking
08-15 09:13:23.275 D/Mono    ( 3119): [0x9a6bf930] worker unparking, timeout? no interrupted? no
08-15 09:13:23.275 D/Mono    ( 3119): [0x9a6bf930] worker parking
08-15 09:13:24.275 D/Mono    ( 3119): [0x9a87d930] worker unparking, timeout? no interrupted? no
08-15 09:13:24.276 D/Mono    ( 3119): [0x9a87d930] worker parking

输出相当有规律,每秒几次。

这是什么意思,是什么原因造成的?

编辑:现在有一个bug report regarding this

【问题讨论】:

    标签: c# android xamarin mono


    【解决方案1】:

    我向 Microsoft 报告了该问题。他们复制了这个问题并打开了一个错误报告。他们还给了我以下解决方法,对我有用:(从他们的电子邮件中复制)

    ....似乎 Mono 默认详细程度已更改或 [Mono] 消息已移至 info loge 详细程度级别。为了缓解这个问题,我采取了以下措施:

    对于 Android,我在项目中添加了一个新的 .txt 文件,并将其 Build Action 设置为 AndroidEnvironment。然后我输入以下环境变量:

    MONO_LOG_LEVEL=error
    

    重新构建解决方案后,我不再看到 [Mono] 消息被记录到应用程序输出窗口中。

    虽然我个人无法在 iOS 上复制此方法,但上述解决方法在 iOS 中应该也可以使用,但如果不能,请告诉我。您可以通过右键单击您的 iOS 项目 -> 选项 -> iOS 构建来执行此操作。然后在 mtouch 输入字段中添加以下内容:

    --setenv:MONO_LOG_LEVEL=error
    

    这些额外的 Mono 环境变量会将日志详细程度设置为错误,这应该使 [Mono] 日志不再显示在输出中。

    如果您喜欢添加日志记录,您可以将日志级别更改为消息,但错误应该足以用于调试目的。

    如果您想了解有关日志记录详细级别的更多信息,以下文档可以帮助您更深入地了解这一点:http://www.mono-project.com/docs/advanced/runtime/logging-runtime-events/#trace-levels

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多