代码之家  ›  专栏  ›  技术社区  ›  Harriv

使用TSQLConnection.SetTraceEvent时堆栈损坏?

  •  1
  • Harriv  · 技术社区  · 15 年前

    我有一个多线程应用程序,其中为每个线程创建新的TSQLConnection。如果我尝试使用跟踪(TSQLConnection.SetTraceEvent或TSQLMonitoring),我会得到预期的跟踪结果,但在那之后,当我尝试使用任何数据库功能时,主线程似乎都会变得死气沉沉。应用程序抛出excation“access invalion at 0x004dffcf:write of address 0xfffff2”,IDE中的调用堆栈显示“7c90327a ntdll.rlConvertulongtoLargerIntereger+0x3c”和“7c90e48a ntdll.KiUserExceptionDispatcher+0xe”的重复行,顶行是“Controls.ReadControlName(???)”。

    那么,跟踪函数是否有缺陷,不能与多线程应用程序一起工作,或者在我的应用程序中是否有隐藏的缺陷?如何发现?

    我用的是Delphi2007。

    编辑

    1 回复  |  直到 15 年前
        1
  •  0
  •   Harriv    15 年前