开发者

Flash Player embedded in QWebView causes breakpoint in Xcode

开发者 https://www.devze.com 2022-12-16 23:45 出处:网络
I\'ve a got Qt QWebView that just contains a SWF running in the embedded flash player. i.e. the HTML looks like this:

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消