初めてstackoverflowを実行しました。私はカスタムタイトルバーでカスタムフレームレスウィンドウのためにインターネット上で見つけた例を再現しようとしています。ここで私は私のIDEとしてQTクリエータを使用してのUbuntu 16.04を実行しているウェブサイト(私が英語でそれを読むことができるようにGoogle翻訳を使用していた)http://qt.developpez.com/tutoriels/braindeadbzh/customwindow/SIGSEGVを取得する
です。私は最新の64ビット版を持っています。
私は3.2をやった後、3.3に行く前に、それが言うところの行にSIGSEGVを取得しています: m_Cacheを削除してください。
デバッガで実行するとすべてがコンパイルされ、SIGSEGVが出てきます。 これは範囲外のエラーですが、その理由はわかりません。どんな提案や助けも大歓迎です。
Thxで事前に!
m_Cacheが無効ポインタであるほとんどの場合(すなわち、それが非NULLであるが、以前に新しい演算子で割り当てられた有効なC++オブジェクト)が含まれていないメモリロケーションを指しています。 1つの共通の原因は、同じオブジェクトを複数回削除しようとすることです。別の一般的な原因は、ポインタを削除する前に、ポインタを有効な値(NULLまたは新しいオブジェクトで割り当てられたオブジェクトなど)に初期化することを無視することです。 –
私はそのコードを簡単に見ました。 'm_Cache'をヌルポインタに初期化した場合、segfaultがなくなると思います:' QPixmap * m_Cache = nullptr; ' – qxz
'valgrind'を使用してください。 – Velkan