我有一个可视的foxpro 6应用程序挂起(100%CPU)。进程资源管理器等不指示任何活动,因此它显然处于某种循环中。
对于.net或C应用程序,我会在挂起时转储进程,并确定导致问题的方法。是否可以使用foxpro进行类似的技术,或者如何识别所涉及的方法?
我们可以完全访问源代码,并可以重建它。但我们无法在我们的工厂重现这个问题 - 我们只会偶尔看到这种情况发生在一个客户身上。
答案 0 :(得分:0)
我在这里假设您可以访问源代码。您可以在跟踪VFP调试器中的代码时复制问题吗?
答案 1 :(得分:0)
不幸的是,userdump和windbg不能用于调试Foxpro源代码。您可以通过在IDE中以交互方式运行源来调试Visual Foxpro程序。内置的调试器将允许您逐步执行代码,并查看发生了什么 - 如果您可以在测试/开发环境中复制它。一旦处于编译状态,调试就变得非常困难,如果不是不可能的话。
由于这只发生在现场,最好的选择是修改源以生成调试日志 - 基本上只要发生关键事件就写入文件(STRTOFILE())。我以前遇到过这种问题的不幸,这是当时最好的可行选择。