QMap を使用してデータを保存するマルチスレッド プログラムがありますが、contains() 関数が呼び出されると、まったく同じ行で時々クラッシュします。
myMap.contains(a)
-> キーと値はポインターではありません。
クラッシュ:
#0 findNode (akey=<synthetic pointer>, this=0x120eec4c) at /var/build/workspace/stage/nto/usr/include/qt4/QtCore/qmap.h:486
#1 contains (akey=<synthetic pointer>, this=0x120eec4c) at /var/build/workspace/stage/nto/usr/include/qt4/QtCore/qmap.h:555
クラッシュしている行は、単に次の行です。
for (int i = d->topLevel; i >= 0; i--)
クラッシュを引き起こす可能性がある唯一のことは、ポインターd
が何らかの形で削除されることだと思います。なぜクラッシュするのか、またはデバッグをどのように進めればよいのでしょうか?
ありがとう