0x004069f1 in Space::setPosition (this=0x77733cee, x=-65, y=-49) at space.h:44
0x00402679 in Checkers::make_move (this=0x28cbb8, move=...) at checkers.cc:351
0x00403fd2 in main_savitch_14::game::make_computer_move (this=0x28cbb8) at game.cc:153
0x00403b70 in main_savitch_14::game::play (this=0x28cbb8) at game.cc:33
0x004015fb in _fu0___ZSt4cout() at checkers.cc:96
0x004042a7 in main() at main.cc:34
你好,我編碼一個遊戲類和我遇到一個段錯誤。檢查器件保存在一個二維數組中,因此該數組的出錯位似乎是無效的x/y。這些動作是作爲字符串傳遞的,它們被轉換爲整數,因此x和y以某種方式是ASCII NULL。我注意到,在函數調用make_move它說,此舉= ...如何解釋GDB回溯?
爲什麼它說此舉= ...?另外,解決segfault的任何其他快速提示?我對GDB很陌生。
對於初學者來說,你應該使用類似'的std :: VECTOR'會拋出一個容易看到異常(否則拯救你管理內存)要出界的時候(如果你使用'在()') 。其次,你應該能夠在x和y上設置一個變量監視,看看它們是如何變化的,並查看它們何時失效,如果確實如此的話。 – chris