PB 12 IDE(和应用程序)在关闭后崩溃

时间:2013-01-30 15:29:10

标签: crash powerbuilder

早上好,

我似乎遇到了PowerBuilder 12.1 Classic(Build 6639)和我们生成的PowerBuilder应用程序的问题。我们目前遇到的问题是应用程序(或者,如果我们运行代码,IDE)在关闭主MDI后崩溃。不幸的是,崩溃没有一致的模式。我可以在MDI打开时关闭它,有时它会崩溃,有时它会正常关闭。

最初,我认为Application对象的close事件出现了问题,或者发生了throwmer事件被抛出的事情。我通过close事件调试并且每一行都成功执行,但应用程序仍然崩溃。

我想我会尝试在应用程序上使用/ PBDEBUG标志,并尝试获取成功关闭和不成功关闭的调试信息。我设法这样做了,文件包含完全相同的信息。他们都完成了以下信息:

  Executing object function +DESTROY for class TRANSACTION, lib entry _TYPEDEF
      Executing instruction at line 2325
      Executing object function DESTROYTRANSACTION for class TRANSACTION, lib entry _TYPEDEF
          Executing system dll function
      End class function DESTROYTRANSACTION for class TRANSACTION, lib entry _TYPEDEF
      Executing instruction at line 2326
  End class function +DESTROY for class TRANSACTION, lib entry _TYPEDEF

我检查了Windows应用程序事件查看器,这是显示的内容:

Fault bucket , type 0
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: txintf.exe
P2: 11.1.18.1
P3: 4cec7a53
P4: System
P5: 2.0.0.0
P6: 506c18e6
P7: 2d4a
P8: 36
P9: System.ObjectDisposedException
P10: 

有人告诉我,当我们将PB11项目迁移到PB12 Classic时,这些问题就开始发生了。不知道这与它有什么关系,但我想我会把它扔出去。

是否有任何人遇到类似问题,或者有任何其他提示可以用来尝试诊断此问题?

谢谢。

编辑:我注意到有时会在Windows事件日志中显示错误,以下是一些信息:

Faulting application name: txintf.exe, version: 13.0.2.3, time stamp: 0x4cec7a53
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a
Exception code: 0xe0434f4d
Fault offset: 0x0000c41f
Faulting process id: 0x2120
Faulting application start time: 0x01ce0099b3021b60
Faulting application path: MyApplicationPath\txintf.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll

还有一些罕见的时间弹出Just-In-Time Debugger,表明已捕获到System.ObjectDisposedException的异常。从这些信息来看,看起来有一个被破坏的物体正在被某物物进入。

我通过调试器检查了调用堆栈,它在Application.Close()事件之后似乎没有任何内容。

1 个答案:

答案 0 :(得分:1)

物体破坏让我回到了我的理论,并提醒我一次我发现的另一个案例。它是一个非自动实例化的NVO,具有自动实例化的NVO作为实例变量。是的,听起来我正在打死马,但这是我听过的唯一一个案例。一个调试的想法是在所有对象的Destructor事件中放置一行脚本(它们都是继承的,对吧?),在那里放置一个断点,并尝试缩小哪些对象是问题的对象或不是问题的一部分。 / p>