作者shunci (自然就好)
看板EE_DSnP
标题[问题] hw1.2.p2b
时间Mon Oct 7 02:14:41 2013
这一小题程式我已打完,可以变成执行档,可是执行时却出现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
1F:→ jjjj222:books.empty() ? 10/07 02:15
2F:推 nianze:请问有用bt确定真的是错在这行吗?因为SIGSEGV前是按n,不 10/07 11:01
3F:→ nianze:知道是不是跑到其他行了? 10/07 11:01
4F:→ shunci:真的是在这行,因为我的逻辑有错,使得排列进入无穷回圈 10/07 18:09
5F:→ shunci:就在刚才发现了,检查好久@@ 10/07 18:09
Thanks!
※ 编辑: shunci 来自: 140.112.25.105 (12/16 15:33)