美好的一天。我有一个很棒的WPF选择,与PTL,许多第三方库和网络合作。在开发人员工作站中它的工作正常(在发布模式下),但是当我在客户端工作站中运行它时 - 我在相同的输入数据中得到了stackoverflow异常。 app也在不同的地方撞毁了alswys。
所以,我的问题是: 1.我知道,通过try-catch-finaly捕获stackoverflow异常是不可能的。但可能存在任何解决方法,以了解哪个模块生成此问题? 2.如果所有第三方库都是平等的,客户端和开发人员环境之间有什么不同?
答案 0 :(得分:0)
我知道,使用 try-catch-finally 不可能捕获 StackOverflowError
异常。
这并非不可能。只是非常不可取,它可能无法解决问题。 (处理程序可以做的最好的事情是放弃导致问题的原因并尝试继续。但是如果应用程序需要正在计算的结果怎么办?或者如果应用程序尝试相同的计算怎么办又来了?)
<块引用>但是可能存在任何解决方法来了解哪个模块会产生此问题?
在不知道问题的真正原因的情况下,没有好的解决方法。
您如何找到问题的真正原因?调试应用程序!
如果所有第三方库都相同,客户端和开发者环境之间有什么区别?
一般来说,它可以是以下任何一种:
此外可能还有一些。简而言之,可能很多不同的东西可能导致不同的行为。您可能认为其中一些不相关,但也可能是错误的。
IMO,寻找差异是错误的方法。更好的做法是在客户端环境中调试您的应用程序。阅读堆栈跟踪、阅读代码、将调试器附加到 JVM 并设置断点等,以尝试找出实际发生的情况。