• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ukixiangg
V2EX  ›  程序员

程序崩溃于 ucrtbase.dll!_abort()

  •  
  •   ukixiangg · Feb 9, 2021 · 3699 views
    This topic created in 2100 days ago, the information mentioned may be changed or developed.
    这是 Qt 桌面应用程序,能够自动收集用户程序生成的崩溃。
    用 visual studio 打开 dump 文件,得到崩溃调用栈:
    ucrtbase.dll!_abort() Unknown Non-user code. Symbols loaded.
    ucrtbase.dll!_terminate() Unknown Non-user code. Symbols loaded.
    > AAA.exe!__scrt_unhandled_exception_filter(_EXCEPTION_POINTERS * const pointers) Line 93 C++ Non-user code. Symbols loaded.
    KERNELBASE.dll!_UnhandledExceptionFilter@4() Unknown Non-user code. Symbols loaded.
    ntdll.dll!__RtlUserThreadStart() Unknown Non-user code. Symbols loaded.
    ntdll.dll!__RtlUserThreadStart@8() Unknown Non-user code. Symbols loaded.
    用户日志也没有明显的错误。
    这种崩溃怎么排查?可能的原因是什么?
    19 replies  •  2021-02-22 16:10:09 +08:00
    Cooky
    Cooky
    Feb 9, 2021 via Android
    1
    编译的时候别用 vc2015+ 的 crt ?
    ukixiangg
    ukixiangg
    OP
    Feb 9, 2021
    2
    这个不确定,因为程序是别的同事打包的。
    如果用了怎么样?
    DoctorCat
    DoctorCat
    Feb 9, 2021
    3
    猜一下:ucrtbase 与目标系统版本不兼容。建议需要收集更多的系统信息尝试复现。
    ukixiangg
    ukixiangg
    OP
    Feb 9, 2021
    4
    崩溃的系统是 windows 10
    ukixiangg
    ukixiangg
    OP
    Feb 9, 2021
    5
    dmp 文件中的异常信息:
    Unhandled exception at 0x7578EDBB (ucrtbase.dll) in AAA.exe.1652.dmp: Fatal program exit requested.
    Flymachine
    Flymachine
    Feb 9, 2021
    6
    看看和这个帖子遇到的问题是不是一样的

    “Fatal program exit requested (ucrtbase.dll)”
    aHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDM3OTQ3NTEvZmF0YWwtcHJvZ3JhbS1leGl0LXJlcXVlc3RlZC11Y3J0YmFzZS1kbGw=
    J55s5
    J55s5
    Feb 9, 2021
    7
    dll 对不上吧?
    codehz
    codehz
    Feb 9, 2021❤️1
    8
    这种就是未处理的异常,没研究之前别甩锅到 ucrt 上。。。
    GeruzoniAnsasu
    GeruzoniAnsasu
    Feb 9, 2021
    9
    > AAA.exe!__scrt_unhandled_exception_filter(_EXCEPTION_POINTERS * const pointers) Line 93 C++ Non-user code.

    你寻找的网友可能是

    上帝

















    你多线程的线程代码有一个构造函数失败了没捕获
    如果我猜对了我是上帝,如果我猜错了,我还是我
    undef404
    undef404
    Feb 10, 2021
    10
    抓个 dump,windbg 调一下,先看看是什么异常.
    ukixiangg
    ukixiangg
    OP
    Feb 10, 2021
    11
    God bless me.
    用户侧的崩溃,本地暂时不知如何调试。
    mingl0280
    mingl0280
    Feb 11, 2021 via Android
    12
    ucrtbased.dll abort 可能的原因很多,上帝才知道。
    这个错基本上都是说你程序里哪里越界了,类似 AccessViolation C0000005,鬼知道具体哪里炸了。
    ysc3839
    ysc3839
    Feb 11, 2021 via Android
    13
    调用栈似乎已经 rewind 了,没有具体出错的地方。看上去是遇到了未处理的异常,然后系统调用了 UnhandledExceptionFilter,而默认的 UnhandledExceptionFilter 是调用 terminate 。
    ysc3839
    ysc3839
    Feb 11, 2021 via Android
    14
    @ysc3839 前面搞错了一个名词,是 stack unwind 而不是 rewind 。
    https://docs.microsoft.com/en-us/cpp/cpp/exceptions-and-stack-unwinding-in-cpp?view=msvc-160
    darknoll
    darknoll
    Feb 12, 2021 via Android
    15
    lib 链接错了
    nicevar
    nicevar
    Feb 12, 2021
    16
    我提供另一个思路,多少用户报这个错?如果只是个别的,很可能不是程序问题,比如 SSD 出现文件损坏也会出现这种总情况
    missdeer
    missdeer
    Feb 12, 2021❤️1
    17
    无语了,前面这些回复都是些什么啊
    这个 call stack 明显是在说程序崩溃了,被 Windows 的 SEH 捕获了,全是 SEH 相关的调用,跟用户代码一点关系都没有
    handle233
    handle233
    Feb 12, 2021
    18
    这种日志怎么排查呢?连 Main 函数都没进去,都是 CRTCRT 开头的..
    ukixiangg
    ukixiangg
    OP
    Feb 22, 2021
    19
    这个崩溃暂时已经跳过了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4816 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    ♥ Do have faith in what you're doing.