如何在不看到控制台的情况下检测unity c#运行时是否有错误? [复制]

2023-12-31

是否可以在不读取控制台日志的情况下检测在 Unity 中运行的 C# 脚本中的错误? 当我必须构建游戏并在手机中测试它时,我需要这个。如果运行时出现错误,它将显示一个消息框来显示错误。

据我了解,我们可以使用Unity Log Viewer来打印设备中的所有Log。但我要求另一种方法来做到这一点。我问一个更简单的解决方案。我的解决方案我认为最好是在编辑器中成功运行时检测到小错误,但在设备中运行时会出现问题,因为它只显示 showMessageBox 错误。

我需要检测运行时是否有问题。我意识到有 Debug.LogError 我们可以检测到错误。但是 Debug.LogError 只是由我们打印消息类型来指出对象错误是什么。我需要的是检测像控制台这样的全局错误并显示来自统一引擎的错误消息。

我需要的可能是这样的:

void Update() {
       showMessageBox(isErrorDetect());
}

showMessageBox => is a function to show message box.
isErrorDetect => this will print an error if detect like a console.

如果有人明白我的意思,那么请给我一个解决方案。

谢谢


所以没有人明白我的意思。但我自己找到了解决方案。

我们可以用 :应用程序.logMessageReceived这就是我的意思。

如果在设备上运行游戏时出现错误,将会弹出以下脚本。尚未测试。但我确信它有效。当在编辑器中运行没有错误但在移动设备上运行时出现错误时,它将为您提供帮助。

我自己做的。例子 :

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class ErrorHandlePopUp : MonoBehaviour {

    public Image PopUp;
    string error;

    void OnEnable() {
        Application.logMessageReceived += HandleLog;
    }

    void OnDisable() {
        Application.logMessageReceived -= HandleLog;
    }

    void HandleLog(string logString, string stackTrace, LogType type) {
        
        if (type == LogType.Error) {
            error = error + "\n" + logString;
            PopUp.gameObject.SetActive (true);
            PopUp.transform.GetChild (0).GetComponent<Text> ().text = "Error";
            PopUp.transform.GetChild (1).GetComponent<Text> ().text = error;
        }   
    }

    public void Dismiss() {
        PopUp.gameObject.SetActive (false);
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不看到控制台的情况下检测unity c#运行时是否有错误? [复制] 的相关文章

  • 错误:表达式不可赋值三元运算符

    我有以下代码 MPLABX XC8 编译器给出此错误 错误 表达式不可分配 U1ERRIRbits RXFOIF uart1 oerr 1 uart1 oerr 0 这是相关代码部分 typedef union struct bool fe
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 从结构调用 C++ 成员函数指针

    我找到了有关调用 C 成员函数指针和调用结构中的指针的信息 但我需要调用结构内部存在的成员函数指针 但我无法获得正确的语法 我在类 MyClass 的方法中有以下代码片段 void MyClass run struct int MyClas
  • Visual Studio 2013 调试器显示 std::string 的奇怪值

    我有一个大型的 cmake 生成的解决方案 其中包含许多项目 由于某种原因 我无法查看字符串的内容 因为根据调试器 Bx Buf含有一些垃圾 text c str 正确返回 Hello 该问题不仅仅发生在本地字符串上 返回的函数std st
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 注入包含接口的所有已注册实现的 Enumerable

    给出以下接口 public interface IMyProcessor void Process 我希望能够注册多个实现 并让我的 DI 容器将它们的可枚举注入到这样的类中 public class MyProcessorLibrary
  • 如何在 C 中链接目标文件?失败并显示“架构 x86_64 的未定义符号”

    因此 我尝试在我的文件 file2 c 中使用另一个 C file1 c 文件中定义的函数 为了做到这一点 我包含了 file1 file1 h 的标头 但是 每当我尝试使用 gcc 编译文件时 我都会收到以下错误 Undefined sy
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • DateTime.ParseExact - 为什么 yy 变成 2015 而不是 1915

    为什么 NET 假定以下年份是 2015 年 而不是 1915 年 var d DateTime ParseExact 20 11 15 dd MM yy new CultureInfo en GB 我想 它会尝试接近 但其背后是否有合理的
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • C# 可以为控制台应用程序部分类“程序”类吗?

    我想知道是否可以将为任何控制台应用程序创建的默认 程序 类更改为部分类 我想这样做是因为我想要更好的组织 而不是将所有方法都放在按区域分类的 1 个文件中 对我来说 将某些方法类别放在单独的文件中会更有意义 我对分部类的理解是 它是多个文件
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • 使用未命名命名空间而不是静态命名空间

    我可以假设在未命名命名空间中声明的对象相当于static namespace int x 1 static int x 2 FWIK 在这两种情况下 x将具有静态存储期限和内部链接 声明为的对象的所有规则也是如此static适用于未命名名称
  • 让 Windows 尝试读取文件

    我正在对 Windows 文件系统进行某种封装 当用户请求打开文件时 Windows 调用我的驱动程序来提供数据 在正常操作中 驱动程序返回缓存的文件内容 但是 在某些情况下 实际文件没有缓存 我需要从网络下载它 问题是是否有可能让 Win
  • 为什么我可以在另一个函数中定义一个函数?

    请参阅下面的代码 我在另一个函数中定义了一个函数 void test1 void void test2 void printf test2 n printf test1 n int main void test1 return 0 这个用法
  • 查找数组中的多个索引

    假设我有一个像这样的数组 string fruits watermelon apple apple kiwi pear banana 是否有一个内置函数可以让我查询 apple 的所有索引 例如 fruits FindAllIndex ap
  • 异步/等待 - 是*并发*吗?

    我一直在考虑 C 5 中新的异步内容 并且出现了一个特殊问题 据我了解 await关键字是一个简洁的编译器技巧 语法糖来实现连续传递 http en wikipedia org wiki Continuation passing style

随机推荐

  • 如何从文本文件中获取特定行? [复制]

    这个问题在这里已经有答案了 我不知道如何从文件中获取特定的文本行 假设文本文件是 1 john 2 mark 3 Luke 如何获取文本文件的第二行 标记 我只需要阅读它 而不是编辑它 int n 2 String lineN Files
  • jQuery 中 $.when.apply(null, a method) 的含义是什么?

    我正在读取 jQuery 中的延迟对象 谁能告诉我以下两种调用方式有什么区别 when apply null a method done function success callback when a method done functi
  • 如何在 EF6 Code First 中将泛型类型与数据库上下文结合使用

    例如 假设我有 4 个不同的实体 每个实体都实现一个将实体添加到数据库的 Add 方法 public class Profile public void Add this dbContext Profile Add this this db
  • 什么是 NMAKE 以及如何使用它?

    什么是 NMAKE 以及如何使用它 NMAKE 有好的教程吗 NMAKE http msdn microsoft com en us library dd9y37ha aspx是微软的实现make http en wikipedia org
  • 使用 QGLShaderProgram 将自定义类型(结构)uniform 从 Qt 传递到 GLSL

    我定义了一个包含两个向量的光参数结构 该结构体在 C 和 GLSL 中都以类似的方式定义 注意 QVector3D封装 3floats not doubles C 主机程序 struct LightParameters QVector3D
  • UIActivityIndi​​catorView 未在 UIAlertView 上正确显示

    我正在编写一个 iOS 应用程序 我必须显示一个带有微调器的 UIAlertView 有时 当我尝试在警报中心添加微调器时 通常会出现另一个警报 不完全是规则 但这就是我注意到它失败的方式 我通过延迟微调器的创建部分解决了这个错误 这是我的
  • 如何用单个循环运行二维数组?

    我想知道我是否可以用一个循环而不是两个循环来写这个东西 for int row 0 row lt matrix length row for int col 0 col lt matrix 0 length col if row col 2
  • TaskExecutor 不工作 Spring 集成

    我已经使用任务执行器设置了文件轮询器 ExecutorService executorService Executors newFixedThreadPool 10 LOG info Setting up the poller for di
  • Mongodb - “递归”删除空字段?

    这是一个基于的问题MongoDb 删除所有为空的字段 https stackoverflow com questions 25287204 mongodb remove all fields that are null 引用的帖子仅提供了删
  • 如何判断字符串是否已经经过 URL 编码?

    如何检查字符串是否已被编码 例如 如果我编码TEST I get TEST 3D 3D 如果我再次对最后一个字符串进行编码 我得到TEST 253D 253D 在这样做之前我必须知道它是否已经编码 我已经保存了编码参数 我需要搜索它们 我不
  • ios Swift 商品未添加到购物车

    当我点击下面的 添加 按钮时 产品不会添加到购物车 并且结帐 0 不会增加到结帐 1 等 我做错了什么 阅读 Larme 的第一条评论后 原始问题得到解决 这是一个菜鸟错误 我忘记将 cell delegate self 放入 tableV
  • 什么是数据库文件系统?

    我对什么是数据库文件系统知之甚少 有人可以向我解释一下数据库文件系统到底是什么 以及它的应用程序是什么吗 它与传统的文件系统有何不同 我怎样才能建造它 典型的文件系统 nix ms dos 等 按层次结构组织文件 例如 c 代表层次结构的顶
  • 如何防止 .htaccess 在特定目录中使用?

    我有一个网站 可以说 http www example com 我正在使用重写模块 但我有一个子文件夹forum example com 我不想要 htaccess要影响这个目录 我该怎么做 If your forum domain com
  • 将参数发送到 Web 服务

    开始之前 我正在使用 Objective C 为 Iphone 编程 我已经使用 NSURLRequest 和 NSURLConnection 实现了对 Web 服务函数的调用 然后该函数返回一个包含我需要的信息的 XML 代码如下 NSU
  • Rails 3,将局部变量传递给部分[重复]

    这个问题在这里已经有答案了 可能的重复 Rails 对将局部变量传递给局部变量的语法感到困惑 https stackoverflow com questions 4402556 rails confused about syntax for
  • 从图像中获取像素颜色[重复]

    这个问题在这里已经有答案了 我在浏览器上有一张图片 我想获取图像颜色的左上角像素 坐标 0 0 无论图像是否旋转 我该如何使用 javascript 或 php 代码来做到这一点 创建画布文档 createElement 获取二维上下文ca
  • 在 tmux 下使用 $TERM='screen-256color' 时,HOME 和 END 键不起作用。为什么?

    我已经设置了 tmux TERM被设置为screen 256color正确 这工作正常 并且颜色设置正确 但是它阻止我发送HOME and END终端的密钥 而是打印为F n and H n 我应该补充一点 home 似乎可以在 irssi
  • 支持 IE11 的 vue cli3 lib

    根据文档 https cli vuejs org guide build targets html library https cli vuejs org guide build targets html library 我不清楚如何集成
  • 在 Node WebKit 中启用触摸事件

    我使用自定义触摸屏 我想默认激活触摸事件节点 webkit https github com rogerwang node webkit 那可能吗 This one https github com rogerwang node webki
  • 如何在不看到控制台的情况下检测unity c#运行时是否有错误? [复制]

    这个问题在这里已经有答案了 是否可以在不读取控制台日志的情况下检测在 Unity 中运行的 C 脚本中的错误 当我必须构建游戏并在手机中测试它时 我需要这个 如果运行时出现错误 它将显示一个消息框来显示错误 据我了解 我们可以使用Unity