dumpObjectInfo関数を使用してオブジェクト情報のダンプを出力したいのですが、何も出力されません。
Qtを使用する次のC++プログラムがあります。
$ cat main1.cpp
#include <QObject>
#include <QString>
#include <QDebug>
#include "a.h"
int main() {
A a;
B b;
QObject::connect(&b, SIGNAL(sendText(QString)), &a, SLOT(printText(QString)));
b.sendSignal();
qDebug() << "print object dump";
a.dumpObjectInfo();
return 0;
}
次の.proファイルがあります(CONFIGにはデバッグモードが設定されています)。
$ cat qt.pro
######################################################################
# Automatically generated by qmake (2.01a) Tue Aug 28 17:41:22 2012
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
CONFIG += debug
HEADERS += a.h
SOURCES += main1.cpp
コンパイル:
$ qmake qt.pro && make clean && make
rm -f moc_a.cpp
rm -f main1.o moc_a.o
rm -f *~ core *.core
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main1.o main1.cpp
/usr/bin/moc-qt4 -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. a.h -o moc_a.cpp
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o moc_a.o moc_a.cpp
g++ -o qt main1.o moc_a.o -L/usr/lib/i386-linux-gnu -lQtGui -lQtCore -lpthread
{ test -n "" && DESTDIR="" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit 'qt' && test -f qt.gdb-index && objcopy --add-section '.gdb_index=qt.gdb-index' --set-section-flags '.gdb_index=readonly' 'qt' 'qt' && rm -f qt.gdb-index || true
プログラムの実行:
$ ./qt
Signal text!
print object dump
$
dumpObjectInfoは、デバッグモードが.proファイルに設定されている間は何も出力しません。オブジェクト情報を出力する関数dumpObjectInfoを作成するにはどうすればよいですか?