在现场部署系统的过程中,发现有时同一个exe程序在自己电脑上可以正常运行,而在相同配置、相同系统版本目标主机上打开却会直接闪退,或者是直接无法运行。而打开“任务管理器”查看后台进程时发现,程序仍处于被执行状态。
解决这一问题的方式也很简单,直接将Unity打包时自动生成的“UnityCrashHandler64.exe”文件删除即可,如果发布的电脑是32位的,就将“UnityCrashHandler32.exe”删除。
这边也上网查了一些资料,出现这个问题的主要原因是:Unity是一个游戏引擎,而“UnityCras hHandler64.exe” 在捕获引擎的异常,当发生异常时,系统会自动消除正在执行的程序,表现为闪退,提示用户程序已停止运行,无反应。而导致这种异常原因除了代码问题,还有很多别的不易排查的原因,比如:系统环境、杀毒软件等等,因此在保证自己代码无漏洞,程序在自己电脑上调试无问题时,可以选择删除“UnityCras hHandler64.exe”。