qq_41639041 2025-09-17 15:44 采纳率: 50%
浏览 21

程序闪退,ntdll报错(有偿 )

用delphi开发的一个应用程序。运行过程中会出现闪退,系统日志里查询到如下截图,该怎么排查,有偿188~

因为实在是偶发,可能几天发生一次,现在没思路。。

img

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-09-17 15:44
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    由于Delphi开发的程序闪退并且系统日志里有ntdll报错,首先我们需要检查以下几个方面:

    1. 硬件问题

    检查系统的内存、CPU利用率等是否过高,导致程序资源不足造成闪退。

    2. 依赖库问题

    检查Delphi程序依赖的库版本是否兼容,避免由于库版本问题导致的crash。

    3. Delphi程序bug

    检查Delphi程序中可能存在的bug,例如数组溢出、野指针、未初始化变量等。

    4. 系统配置问题

    检查系统配置是否正确,例如环境变量、系统字体等是否正确配置。

    5. 日志分析

    从系统日志中分析错误码和调试信息,以定位可能的故障位置。

    6. 调试工具

    使用Delphi的调试工具,例如DELPHI DEBUGGER, 来逐步调试程序,检查运行过程中是否出现异常。

    核心解决部分可以通过使用调试工具来逐步调试程序来解决问题,或者分析日志信息以定位可能的故障位置。

    example

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      // 在这里检查程序是否出现异常
      try
        // 程序业务逻辑
      except
        on E: Exception do
        begin
          // 日志记录
          Log.E('异常', E.Message);
          Exit;
        end;
      end;
    end;
    
    评论

报告相同问题?

问题事件

  • 修改了问题 9月17日
  • 修改了问题 9月17日
  • 修改了问题 9月17日
  • 创建了问题 9月17日