我有一个本机C ++应用程序,我在执行C ++ / CLI应用程序时作为一个进程运行,我看到退出代码有一些奇怪的行为。我希望当进程正确退出时退出代码为0但Process.ExitCode返回-529697949。但是,当我调试C ++应用程序时,我可以看到返回的退出代码实际为0.为什么Process.ExitCode属性与此值不匹配?
答案 0 :(得分:8)
当程序行为不当时,绝对最重要的假设是从不假设它是成千上万程序员使用并运行在5亿台计算机上的代码中的错误。首先假设它是你程序中的一个问题。
有了这些知识,请更好地了解这个数字。当数字看起来很大并且随机时,一个好的策略总是将它转换为十六进制。 -529697949 = 0xe06d7363。 Shazam,神奇的数字,谷歌也很好。这是Windows异常代码的价值。 e0使其成为致命错误,6d7363是拼写为“msc”的ASCII码。
您的程序因未处理的C ++异常而崩溃。