I've a got Qt QWebView that just contains a SWF running in the embedded flash player.
i.e. the HTML looks like this:
<body style="margin: 0px; overflow:hidden; background: #FFFFFF">
<object type="application/x-shockwave-flash" data="preview.swf" width="100%" height="100%">
</object>
</body>
Everything is working in my app, but when the QWebView is first loaded a break point is always triggered in Xcode's debugger. The call stack looks like this:
#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 WebC开发者_开发百科ore::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
and the console is displaying:
Debugger() was called!
So pretty clearly dyld_stub_write is calling Debugger() and breaking (on purpose presumably) ... any idea why this might be happening? How can I make it go away? It's very annoying.
The release build of Adobe's Flash/SWF plug-in has been compiled with at least one call to Debugger()
. Yes, this is lame. Yes, it's Adobe's fault.
To work around it you need to tell Xcode not to break on the Debugger()
call. You can do this per-executable by right-clicking the executable in the Groups and Files list, selecting Get Info and unchecking Break on Debugger()/DebugStr() in the Debugging tab. You can also disable it in the Run menu, as zneak pointed out.
The only way I see to make it go away is to stop breaking on Debugger(). Uncheck it in Xcode's Run menu.
If you depend on calls to Debugger() in your own project, I suggest you use "regular" breakpoints.
精彩评论