0

現在、繰り返しタイマーで 4 つの異なる時間に呼び出される 4 つの QNetworkAccessManagers を持つアプリケーションがあります。私が電話するマネージャーと一緒に投稿/再読する時が来たら:

例:

reply = manager#->get(QNetworkRequest(QUrl(URL)));

タイマーは次の間隔で期限切れになります:

Manager1 - 10s
Manager2 - 15s
Manager3 - 90s
Manager4 - 300s

これはうまくいきます。ただし、この実行を何日も続けた後、4 つのうちの 1 つから返信を受け取った後、

can't find linker symbol for virtual table for `QDynamicMetaObjectData' value
    found `QXmlUtils::isPublicID(QString const&)' instead
Couldn't restore frame #2 in current thread, at reparsed frame #0
Couldn't restore frame #2 in current thread, at reparsed frame #0

あるいは単に

Couldn't restore frame #1 in current thread, at reparsed frame #0
Couldn't restore frame #1 in current thread, at reparsed frame #0
Couldn't restore frame #1 in current thread, at reparsed frame #0
Couldn't restore frame #1 in current thread, at reparsed frame #0

その後、プログラムがクラッシュします。私の質問は: 誰もこれを見たことがありますか?

4

1 に答える 1

1

通常、このようなエラーは から発生しますgdb

デバッガーの下で実行していないと主張しているので、おそらく ELF テーブルや型情報データなど、どこかでメモリを破損している可能性があります。

以下で実行してvalgrind、エラーが発生するかどうかを確認します。すぐに見つかると思います。

于 2013-09-05T00:37:38.820 に答える