我有一个Qt QWebView只包含在嵌入式Flash播放器中运行的SWF。
即。 HTML看起来像这样:
<body style="margin: 0px; overflow:hidden; background: #FFFFFF">
<object type="application/x-shockwave-flash" data="preview.swf" width="100%" height="100%">
</object>
</body>
一切都在我的应用程序中运行,但是当首次加载QWebView时,总是在Xcode的调试器中触发断点。调用堆栈如下所示:
#0 0x9642d126 in Debugger
#1 0x77a03785 in dyld_stub_write
#2 0x77a03a3f in NP_Initialize
#3 0x2663fcfd in WebCore::PluginPackage::load
#4 0x2664041f in WebCore::PluginPackage::fetchInfo
#5 0x264dffa7 in WebCore::PluginPackage::createPackage
#6 0x264daf55 in WebCore::PluginDatabase::refresh
#7 0x264db31c in WebCore::PluginDatabase::installedPlugins
#8 0x2661d519 in WebCore::FrameLoaderClientQt::objectContentType
#9 0x26361e26 in WebCore::HTMLPlugInImageElement::isImageType
,控制台显示:
Debugger() was called!
很明显,dyld_stub_write正在调用Debugger()并打破(大概是故意的)......任何想法为什么会发生这种情况?我怎么能让它消失?这很烦人。
答案 0 :(得分:1)
Adobe的Flash / SWF插件的发布版本已经编译,至少有一次调用Debugger()
。是的,这很蹩脚。是的,这是Adobe的错。
要解决这个问题,你需要告诉Xcode不要在Debugger()
电话中断。您可以通过右键单击“组和文件”列表中的可执行文件,选择获取信息并取消选中 Break on Debugger()/ DebugStr()来执行此可执行文件。调试选项卡。您也可以在运行菜单中将其停用,就像zneak指出的那样。
答案 1 :(得分:0)
我认为让它消失的唯一方法是停止在Debugger()上打破。在Xcode的“运行”菜单中取消选中它。
如果您依赖于在自己的项目中调用Debugger(),我建议您使用“常规”断点。