我正在编写一些模拟代码并设法让我的模型按预期运行。然而,当我重置模型(它位于我现在无法访问的大量由其他人编写的代码之上)并想要重新运行它时,我遇到了麻烦。
根据我从阅读网站上的帖子和错误中收集到的信息,我收到的问题是由于空指针异常和 Awt 队列错误,因为某些图形元素在重置后遇到问题(因为它们相关的那些项目)不再有效)。
0- 在模拟代码中按下重置按钮时通常会发生什么?我想(希望)其他人都做好了功课,因为我对此一无所知,所以我需要自己做一些清理工作,让一切都表现得很好。
1-现在,解决此类仅在重新运行代码后才会发生的问题的最简单方法是什么?
2-此外,每次运行模拟后清理代码的一般准则是什么?
最佳答案
啊,好的。我不能告诉你问题到底出在哪里,但我对以前修复过那种错误的内存很模糊。我认为这与图形组件的“空”值概念有关。即,它不支持 null
作为值。
从检查异常的堆栈跟踪开始,阅读它直到您看到您的一些类(即第一个不是 AWT、Swing 或任何其他底层类的类)。然后查看在这些特定类的堆栈跟踪中写入的行号。
如果仅通过查看代码(比人们预期的更频繁)立即导致该行异常的原因不明显,则尝试在几行之前设置一个断点并单步执行调试器。希望这样就可以清楚出了什么问题。
嗯,这就是我调试此类错误的方式。希望对您有所帮助。
关于java - 如何调试 Java GUI 应用程序中重置功能的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539381/