看板 EE_DSnP 關於我們 聯絡資訊
這一小題程式我已打完,可以變成執行檔,可是執行時卻出現segmentation fault. 使用gdb來檢查如下(設breakpoint): Breakpoint 2, main () at hw1.2.p2b.cpp:219 sort(books.begin(), books.end()); (gdb) s std::vector<Book, std::allocator<Book> >::end (this=0x7fffffffdb70) at /usr/include/c++/4.7/bits/stl_vector.h:537 537 { return iterator(this->_M_impl._M_finish); } (gdb) n Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7b92283 in std::string::length() const () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 發現問題在main程式的這行:sort(books.begin(), books.end()); 可是我卻不知道這行式子的作用,也因此不知如何debug,想請問大家 我的程式之所以會發生segmentation fault的原因是什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.224.244
jjjj222:books.empty() ? 10/07 02:15
nianze:請問有用bt確定真的是錯在這行嗎?因為SIGSEGV前是按n,不 10/07 11:01
nianze:知道是不是跑到其他行了? 10/07 11:01
shunci:真的是在這行,因為我的邏輯有錯,使得排列進入無窮迴圈 10/07 18:09
shunci:就在剛才發現了,檢查好久@@ 10/07 18:09
Thanks! ※ 編輯: shunci 來自: 140.112.25.105 (12/16 15:33)