Flash Player, встроенный в QWebView, вызывает точку останова в Xcode - PullRequest
0 голосов
/ 22 января 2010

У меня есть Qt QWebView, который просто содержит 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 () и прерывает работу (предположительно специально) ... есть идеи, почему это может происходить? Как я могу заставить его уйти? Это очень раздражает.

Ответы [ 2 ]

1 голос
/ 22 января 2010

Сборка выпуска плагина Adobe Flash / SWF была скомпилирована как минимум с одним вызовом Debugger().Да, это хромает.Да, это вина Adobe.

Чтобы обойти это, вы должны указать Xcode не прерывать вызов Debugger().Вы можете сделать это для каждого исполняемого файла, щелкнув правой кнопкой мыши исполняемый файл в списке групп и файлов, выбрав Получить информацию и сняв отметку Разрыв по отладчику () / DebugStr () на вкладке Отладка,Вы также можете отключить его в меню Run , как указал zneak.

0 голосов
/ 22 января 2010

Единственный способ избавиться от него - перестать работать с отладчиком (). Снимите флажок в меню Run Xcode.

Если вы зависите от вызовов Debugger () в своем собственном проекте, я предлагаю вам использовать «обычные» точки останова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...