ルギア君の戯言

雑多な記事。

kTechLab

gdb によるデバッグでわかったこと。


他人にはちょっとわからないかも

正常に挿入できるモノ

(Push-to-Make で)

reakpoint 119, ICNDocument::rerouteInvalidatedConnectors (this=0x85dbc80) at icndocument.cpp:1145
1145            qApp->processEvents(300);
(gdb) step
1148            addAllItemConnectorPoints();
(gdb) steo
Undefined command: "steo".  Try "help".
(gdb) step
ICNDocument::addAllItemConnectorPoints (this=0x85dbc80) at icndocument.cpp:1130
1130            const ItemList::iterator ciEnd = m_itemList.end();
(gdb) step
QValueList<QGuardedPtr<Item> >::end (this=0x85dbd20) at /usr/lib/qt3/include/qvaluelist.h:477
477         iterator end() { detach(); return iterator( sh->node ); }
(gdb) continue
Continuing.

途中誤爆してますが気にせずに。

正常に挿入できないモノ

(Battery で)

Breakpoint 119, ICNDocument::rerouteInvalidatedConnectors (this=0x85dbc80) at icndocument.cpp:1145
1145            qApp->processEvents(300);
(gdb) step

Program received signal SIGSEGV, Segmentation fault.
0x082768a8 in ~vector (this=0x49) at /usr/lib/gcc/i686-momonga-linux/4.3.1/../../../../include/c++/4.3.1/bits/stl_vector.h:300
300           { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
(gdb)

この processEvents 関数は一体何者?
qApp は QApplication だから、これは
http://doc.trolltech.com/3.3/qapplication.html#processEvents
を呼び出してるのか・・・


ああ、眠い。漁る qt のドキュメントのバージョンを間違えて 4.4 を見ててなんかおかしいなぁと思ってたら ktechlab は KDE3 だったrz


んー、この行削除しちゃだめ?


この行が削除できないとなると、qt3 に問題がある可能性が否めないな。