You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用第三方函数触发__debugbreak及栈溢出崩溃问题排查求助

调用第三方函数时偶发崩溃的排查求助

问题现象

调用第三方函数do_command时程序偶尔崩溃,Visual Studio提示:

A breakpoint instruction (__debugbreak() statement or a similar call) was executed in myexecutable.exe
  • 崩溃仅在调用该函数时出现,成功调用的次数无固定规律
  • 已确认函数调用参数的类型、取值均无误,且该第三方函数在通用场景下运行正常
  • Release模式下同样会偶发崩溃

崩溃触发时的具体异常信息:

Exception thrown at 0x00007FFF75528A27 (ntdll.dll) in myexecutable.exe: 0xC0000005: Access violation reading location 0x000000E54C390000.

已执行的排查操作

  • 初步怀疑内存损坏或泄漏,但代码几乎仅使用现代C++特性,暂认为该类问题概率较低
  • 开启SEH异常编译选项/EHa,用__try/__except(EXCEPTION_CONTINUE_EXECUTION)包裹函数调用,但__except块未触发
  • 启用内存泄漏检测后,输出窗口先显示大量0xC0000025异常,随后出现0xC00000FD栈溢出异常,最终触发0xC0000005访问违例
  • 调用处代码极简,无额外逻辑:
    do_command(player, position, index, command_id, nullptr); // 参数类型:int32_t, int32_t, int32_t, CommandType__Enum, MethodInfo*
    
  • 在崩溃点附近调用_CrtDumpMemoryLeaks()检测到泄漏,但判断泄漏来自第三方代码,对当前排查无帮助
  • 小幅重构代码后崩溃频率降低,但未找到根本原因,疑似存在未定义行为

求助需求

请求分析可能的问题原因,并提供进一步的排查方法

内容的提问来源于stack exchange,提问作者BullyWiiPlaza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:55:18