|
Re: Strange backtrace: msg#00344kde-devel
A Dimarts, 28 de juliol de 2009, Stefan Majewsky va escriure: > Hi, > > during my last refactoring, I've introduced some crashes in Kolf 2, which > I'm working through currently. While analysing a backtrace, I stumbled upon > something that puzzled me, and contradicts my understanding of C++. As it > might be that this misunderstanding hinders me from discovering the true > source of the crash, I thought it might be good to ask for help here. Here > is > > the relevant part of the backtrace: > > Application: Kolf (kolf-ng), signal: Segmentation fault > > [KCrash Handler] > > #6 0x00000000 in ?? () > > #7 0x0808f277 in Kolf::Game::setCurrentHole (this=0xbfb99b78, newHole=0) > > at /home/smajewsky/Code/kolf/kolf/engine/game.cpp:109 > > #8 0x08093a56 in Kolf::NormalGame::startGame (this=0x82097e8) > > at /home/smajewsky/Code/kolf/kolf/engine/game-normal.cpp:77 > > #9 0x080966a4 in Kolf::MainWindowPrivate::newGame (this=0x81e50a8) > > at /home/smajewsky/Code/kolf/kolf/intßerface/mainwindow.cpp:87 > > And here's a code sample from the Kolf::NormalGame class, a subclass of > Kolf::Game: (The full code is in playground/games/kolf-ng/engine.) > > bool Kolf::NormalGame::startGame() > { > if (players().count() == 0 || course()->holeCount() <= 0) > return false; > gameUI()->setWindowTitle(course()->title()); > //start with first hole and first player > setCurrentHole(0); /* This is line 77 */ > return true; > } > > As you see, the second-to-last line in the method invokes > Kolf::Game::setCurrentHole, which equals the step from #8 to #7 in above > backtrace. The fact that puzzles me is that the this pointer changes > between #8 and #7. How can I interpret this? In my understanding the this > pointer stays the same even during casts (if we disregard multiple > inheritance which is not used in this class layout). Is this wrong? > > Thanks for any help. Tried valgrind? Albert > > Greetings > Stefan >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
|
|
||||||||||||||||||||||||||
|
|
|
| News | Mail Home | sitemap | FAQ | advertise |