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

2021-02-22 16:14:13 +08:00
 ukixiangg
项目名称是 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.
1376 次点击
所在节点    程序员
7 条回复
ukixiangg
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
2021-02-22 16:45:16 +08:00
把 Inline Frame 展开看看吧,另外建议截图,或者把 dump 文件发出来。
flyhelan
2021-02-22 18:23:37 +08:00
这代码看着头大
ukixiangg
2021-02-22 18:53:44 +08:00
想把调用栈删一部分,但是没找到删除按钮
nicevar
2021-02-22 19:00:28 +08:00
看不出什么,Qt 版本是多少?可以换个系统平台测试一下,或者换个 Qt 版本
jones2000
2021-02-23 02:15:29 +08:00
如果页面, 在页面 js 里面加日志输出, 奔溃的时候就看最后的日志执行到那个 js 上, 大致就知道是哪块 js 引起的。
ukixiangg
2021-02-23 13:14:54 +08:00
Qt 版本 5.15.1 ;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/755140

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX