崩溃于 QtWebEngine,调用栈只有 Qt 内核代码,没有个人代码 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ukixiangg
V2EX    程序员

崩溃于 QtWebEngine,调用栈只有 Qt 内核代码,没有个人代码

  •  a href="Javascript:" Onclick="downVoteTopic(755140);" class="vote">
  •   ukixiangg 2021-02-22 16:14:13 +08:00 1741 次点击
    这是一个创建于 1721 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目名称是 DemoA.exe 。
    项目中使用了 WebEngine 加载网页。
    下面为崩溃栈:
    [Inline Frame] Qt5WebEngineCore.dll!std::_Narrow_char_traits<char,int>::length(const char * const) Line 321 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!std::string::assign(const char * const) Line 2984 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!std::string::{ctor}(const char * const) Line 2339 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gl::GLSurface::ExtensionsContain(const char * c_extensiOns=0x0a4cc478, const char * name=0x63daf438) Line 270 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gl::GLSurfaceQt::HasEGLExtension(const char * name=0x63daf438) Line 102 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gl::GLContextEGL::Initialize(gl::GLSurface * compatible_surface, const gl::GLContextAttribs & attribs={...}) Line 104 C++ Symbols loaded.
    Qt5WebEngineCore.dll!GLContextHelper::initializeContextOnBrowserThread(gl::GLContext * cOntext=0x0a61dd30, gl::GLSurface * surface=0x0d940438, gl::GLContextAttribs attribs={...}) Line 104 C++ Symbols loaded.
    Qt5WebEngineCore.dll!GLContextHelper::qt_static_metacall(QObject * _o=0x0a117c90, QMetaObject::Call _c=InvokeMetaMethod, int _id=0, void * * _a=0x00afc900) Line 81 C++ Symbols loaded.
    Qt5Core.dll!QMetaMethod::invoke(QObject * object=0x0a117c90, Qt::ConnectionType cOnnectionType=DirectConnection, QGenericReturnArgument returnValue={...}, QGenericArgument val0={...}, QGenericArgument val1={...}, QGenericArgument val2={...}, QGenericArgument val3={...}, QGenericArgument val4={...}, QGenericArgument val5={...}, QGenericArgument val6={...}, QGenericArgument val7={...}, QGenericArgument val8={...}, QGenericArgument val9={...}) Line 2303 C++ Symbols loaded.
    Qt5Core.dll!QMetaObject::invokeMethod(QObject * obj=0x0a117c90, const char * member=0x638d3fc4, Qt::ConnectionType type=DirectConnection, QGenericReturnArgument ret={...}, QGenericArgument val0={...}, QGenericArgument val1={...}, QGenericArgument val2={...}, QGenericArgument val3={...}, QGenericArgument val4={...}, QGenericArgument val5={...}, QGenericArgument val6={...}, QGenericArgument val7={...}, QGenericArgument val8={...}, QGenericArgument val9={...}) Line 1515 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!GLContextHelper::initializeContext(gl::GLContext * cOntext=0x0a61dd30, gl::GLSurface * surface=0x0d940438, gl::GLContextAttribs attribs={...}) Line 110 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gl::init::CreateGLContext(gl::GLShareGroup * share_group=0x0d93e518, gl::GLSurface * compatible_surface=0x0d940438, const gl::GLContextAttribs & attribs={...}) Line 200 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gpu::GLES2CommandBufferStub::Initialize(gpu::CommandBufferStub * share_command_buffer_stub, const GPUCreateCommandBufferConfig & init_params={...}, base::UnsafeSharedMemoryRegion shared_state_shm={...}) Line 312 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gpu::GpuChannel::OnCreateCommandBuffer(const GPUCreateCommandBufferConfig & init_params={...}, int route_id=4, base::UnsafeSharedMemoryRegion shared_state_shm={...}, gpu::ContextResult * result=0x00afd354, gpu::Capabilities * capabilities=0x00afd174) Line 745 C++ Symbols loaded.
    Qt5WebEngineCore.dll!base::DispatchToMethodImpl<gpu::GpuChannel *,void (__thiscall gpu::GpuChannel::*)(GPUCreateCommandBufferConfig const &,int,base::UnsafeSharedMemoryRegion,enum gpu::ContextResult *,gpu::Capabilities *),std::tuple<GPUCreateCommandBufferConfig,int,base::UnsafeSharedMemoryRegion>,std::tuple<enum gpu::ContextResult,gpu::Capabilities>,0,1,2,0,1>(gpu::GpuChannel * const & obj=0x1eee7438, void(gpu::GpuChannel::*)(const GPUCreateCommandBufferConfig &, int, base::UnsafeSharedMemoryRegion, gpu::ContextResult *, gpu::Capabilities *) method=0x61db23b5, std::tuple<GPUCreateCommandBufferConfig,int,base::UnsafeSharedMemoryRegion> && in={...}, std::tuple<enum gpu::ContextResult,gpu::Capabilities> * out=0x00afd174, std::integer_sequence<unsigned int,0,1,2> __formal={...}, std::integer_sequence<unsigned int,0,1> __formal={...}) Line 96 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!base::DispatchToMethod(gpu::GpuChannel * const &) Line 105 C++ Symbols loaded.
    Qt5WebEngineCore.dll!IPC::MessageT<GpuChannelMsg_CreateCommandBuffer_Meta,std::tuple<GPUCreateCommandBufferConfig,int,base::UnsafeSharedMemoryRegion>,std::tuple<enum gpu::ContextResult,gpu::Capabilities>>::Dispatch<gpu::GpuChannel,gpu::GpuChannel,void,void (__thiscall gpu::GpuChannel::*)(GPUCreateCommandBufferConfig const &,int,base::UnsafeSharedMemoryRegion,enum gpu::ContextResult *,gpu::Capabilities *)>(const IPC::Message * msg=0x1e56f078, gpu::GpuChannel * obj=0x1eee7438, gpu::GpuChannel * sender=0x1eee7438, void * __formal=0x00000000, void(gpu::GpuChannel::*)(const GPUCreateCommandBufferConfig &, int, base::UnsafeSharedMemoryRegion, gpu::ContextResult *, gpu::Capabilities *) func=0x61db23b5) Line 205 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gpu::GpuChannel::OnControlMessageReceived(const IPC::Message & msg={...}) Line 567 C++ Symbols loaded.
    Qt5WebEngineCore.dll!gpu::GpuChannel::HandleMessageHelper(const IPC::Message & msg={...}) Line 620 C++ Symbols loaded.
    Qt5WebEngineCore.dll!base::internal::FunctorTraits<void (__thiscall quota_internals::QuotaInternalsProxy::*)(storage::QuotaSettings const &),void>::Invoke<void (__thiscall quota_internals::QuotaInternalsProxy::*)(storage::QuotaSettings const &),base::WeakPtr<quota_internals::QuotaInternalsProxy> const &,storage::QuotaSettings const &>(void(quota_internals::QuotaInternalsProxy::*)(const storage::QuotaSettings &) method=0x61db214b, const base::WeakPtr<quota_internals::QuotaInternalsProxy> & receiver_ptr={...}, const storage::QuotaSettings & <args_0>={...}) Line 498 C++ Symbols loaded.
    Qt5WebEngineCore.dll!base::internal::InvokeHelper<1,void>::MakeItSo<void (__thiscall quota_internals::QuotaInternalsProxy::*const &)(storage::QuotaSettings const &),base::WeakPtr<quota_internals::QuotaInternalsProxy> const &,storage::QuotaSettings const &>(void(quota_internals::QuotaInternalsProxy::*)(const storage::QuotaSettings &) & functor=0x61db214b, const base::WeakPtr<quota_internals::QuotaInternalsProxy> & weak_ptr={...}, const storage::QuotaSettings & <args_0>={...}) Line 618 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!base::internal::Invoker<base::internal::BindState<void (__thiscall net::MDnsClientImpl::Core::*)(std::pair<std::string,unsigned short> const &),base::WeakPtr<net::MDnsClientImpl::Core>,std::pair<std::string,unsigned short>>,void __cdecl(void)>::RunImpl(void(net::MDnsClientImpl::Core::*)(const std::pair<std::string,unsigned short> &) && bound, std::tuple<base::WeakPtr<net::MDnsClientImpl::Core>,std::pair<std::string,unsigned short>> &&) Line 672 C++ Symbols loaded.
    Qt5WebEngineCore.dll!base::internal::Invoker<base::internal::BindState<void (__thiscall net::MDnsClientImpl::Core::*)(std::pair<std::string,unsigned short> const &),base::WeakPtr<net::MDnsClientImpl::Core>,std::pair<std::string,unsigned short>>,void __cdecl(void)>::RunOnce(base::internal::BindStateBase * base=0x1e56f060) Line 640 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!base::OnceCallback<void __cdecl(void)>::Run() Line 98 C++ Symbols loaded
    Qt5WebEngineCore.dll!base::TaskAnnotator::RunTask(const char * trace_event_name=0x63d2ac90, base::PendingTask * pending_task=0x08626be8) Line 142 C++ Symbols loaded.
    Qt5WebEngineCore.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::sequence_manager::LazyNow * continuation_lazy_now=0x00afd644, bool * ran_task=0x00afd667) Line 366 C++ Symbols loaded.
    Qt5WebEngineCore.dll!base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() Line 270 C++ Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!QtWebEngineCore::MessagePumpForUIQt::handleScheduledWork() Line 202 C++ Non-user code. Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!QtWebEngineCore::MessagePumpForUIQt::<lambda_b6c8be786af2f5959f95cee23156cb35>::operator()() Line 115 C++ Non-user code. Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!std::invoke(QtWebEngineCore::MessagePumpForUIQt::<lambda_b6c8be786af2f5959f95cee23156cb35> &) Line 1596 C++ Non-user code. Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!std::_Invoker_ret<void,1>::_Call(QtWebEngineCore::MessagePumpForUIQt::<lambda_b6c8be786af2f5959f95cee23156cb35> &) Line 1640 C++ Non-user code. Symbols loaded.
    Qt5WebEngineCore.dll!std::_Func_impl_no_alloc<<lambda_b6c8be786af2f5959f95cee23156cb35>,void>::_Do_call() Line 903 C++ Non-user code. Symbols loaded.
    [Inline Frame] Qt5WebEngineCore.dll!std::_Func_class<void>::operator()() Line 951 C++ Symbols loaded.
    Qt5WebEngineCore.dll!QWebEngineMessagePumpScheduler::timerEvent(QTimerEvent * ev=0x1e664660) Line 72 C++ Symbols loaded.
    Qt5Core.dll!QObject::event(QEvent * e=0x1e664660) Line 1341 C++ Symbols loaded.
    Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0a135220, QEvent * e=0x1e664660) Line 3630 C++ Symbols loaded.
    Qt5Widgets.dll!QApplication::notify(QObject * receiver=0x0a135220, QEvent * e=0x1e664660) Line 3585 C++ Symbols loaded.
    Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver=0x0a135220, QEvent * event=0x1e664660) Line 1063 C++ Symbols loaded.
    [Inline Frame] Qt5Core.dll!QCoreApplication::sendEvent(QObject *) Line 1458 C++ Symbols loaded.
    Qt5Core.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x00000000, int event_type, QThreadData * data=0x00214610) Line 1817 C++ Symbols loaded.
    Qt5Core.dll!QEventDispatcherWin32::sendPostedEvents() Line 1081 C++ Symbols loaded.
    qwindows.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 81 C++ Symbols loaded.
    Qt5Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 530 C++ Symbols loaded.
    qwindows.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 74 C++ Symbols loaded.
    [Inline Frame] Qt5Core.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag>) Line 139 C++ Symbols loaded.
    Qt5Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 232 C++ Symbols loaded.
    Qt5Core.dll!QCoreApplication::exec() Line 1372 C++ Symbols loaded.
    DemoA.exe!main(int argc=12, char * * argv=0x03720f90) Line 164 C++ Symbols loaded.
    DemoA.exe!WinMain(HINSTANCE__ * __formal=0x00bc0000, HINSTANCE__ * __formal=0x00000000, char * __formal=0x00183cd8, int __formal=10) Line 98 C++ Symbols loaded.
    > [Inline Frame] XesStudent.exe!invoke_main() Line 102 C++ Non-user code. Symbols loaded.
    DemoA.exe!__scrt_common_main_seh() Line 288 C++ Non-user code. Symbols loaded.
    kernel32.dll!@BaseThreadInitThunk@12 () 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.
    第 1 条附言    2021-02-22 18:51:53 +08:00
    崩溃报错:
    Unhandled exception at 0x61664951 (Qt5WebEngineCore.dll) in DemoA.exe.5572.dmp: 0xC0000005: Access violation reading location 0x0A4CC478.
    7 条回复    2021-02-23 13:14:54 +08:00
    ukixiangg
        1
    ukixiangg  
    OP
       2021-02-22 16:42:53 +08:00
    崩溃报错:
    Unhandled exception at 0x61664951 (Qt5WebEngineCore.dll) in DemoA.exe.5572.dmp: 0xC0000005: Access violation reading location 0x0A4CC478.
    ysc3839
        2
    ysc3839  
       2021-02-22 16:45:16 +08:00 via Android
    把 Inline Frame 展开看看吧,另外建议截图,或者把 dump 文件发出来。
    flyhelan
        3
    flyhelan  
       2021-02-22 18:23:37 +08:00
    这代码看着头大
    ukixiangg
        4
    ukixiangg  
    OP
       2021-02-22 18:53:44 +08:00
    想把调用栈删一部分,但是没找到删除按钮
    nicevar
        5
    nicevar  
       2021-02-22 19:00:28 +08:00
    看不出什么,Qt 版本是多少?可以换个系统平台测试一下,或者换个 Qt 版本
    jones2000
        6
    jones2000  
       2021-02-23 02:15:29 +08:00
    如果页面, 在页面 js 里面加日志输出, 奔溃的时候就看最后的日志执行到那个 js 上, 大致就知道是哪块 js 引起的。
    ukixiangg
        7
    ukixiangg  
    OP
       2021-02-23 13:14:54 +08:00
    Qt 版本 5.15.1 ;
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5929 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 02:07 PVG 10:07 LAX 18:07 JFK 21:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86