Arch Linux で Qt Creator (QtCreator2.6.1 & Qt4.8.4 64bit) を使用していますが、デバッグ中に問題が発生します。デバッグ ビルドを実行すると、ブレークポイントを設定しているかどうかに関係なく、Creator (または GDB だと思います) は標準の Qt 関数で停止し、スレッド 1 の内部ブレークポイント 2 で停止したと言い続けます。いつも同じメッセージです。
「内部ブレークポイント」でブレークを停止するにはどうすればよいですか?
いくつかの Qt 関数でこの問題が発生しましたが、具体的に覚えているのは「addWidget」だけです。私の現在のプロジェクトでは、中央のウィジェットとして QGLWidget を持つ QMainWindow があります。「layout()->addWidget( m_DlgCur );」を呼び出して、メイン ウィンドウにウィジェットを追加できます。メインウィンドウから。ただし、常にその行で中断します。私のより大きなプロジェクトのいくつかでは、他の機能でも壊れています!
完全を期すために、メイン ウィンドウのコード全体を含めました。
qrpgWND::qrpgWND( QWidget *Parent )
: QMainWindow( Parent )
, m_CntWgt( QGLFormat(QGL::SampleBuffers|QGL::DoubleBuffer|QGL::AlphaChannel|QGL::HasOverlay), this, 0 )
, m_Layout( NULL ), m_DlgCur( NULL )
{
m_Layout = new QHBoxLayout();
m_CntWgt.setLayout( m_Layout );
setCentralWidget( &m_CntWgt );
m_BtnCls.setText( "Exit" );
Q_ASSERT(
connect( &m_BtnCls, SIGNAL(clicked(bool)),
this, SLOT(btnCls()) )
);
Q_ASSERT(
connect( &m_BtnCraft, SIGNAL(clicked(bool)),
this, SLOT(btnCraft()) )
);
m_Layout->addWidget( &m_BtnCls );
m_BtnCraft.setText( "Craft" );
m_Layout->addWidget( &m_BtnCraft );
return;
}
void qrpgWND::btnCraft()
{
if( m_DlgCur == NULL ) {
m_DlgCur = new qrpgDlgCrafting( &m_DlgCur, &m_CntWgt );
layout()->addWidget( m_DlgCur );
m_DlgCur->show();
}
return;
}