Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
程序在返回0后收到SIGSEGV错误 程序接收信号SIGSEGV,分段故障。 std::basic_filebuf::_M_terminate_output()()中的0x00007ffff7b8bc26来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb)在哪里 #std::basic_filebuf::\u M_terminate_output()()中的0 0x00007FF7B8BC26 来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 #1 0x00007FF7B8C6A2,位于/usr/lib/x86\u 64-linux-gnu/libstdc++.so.6中的std::basic_filebuf::close() #std::basic_of Stream::~basic_of Stream()() 来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3个0x0000000000403e02主端口(argc=2,argv=0x7fffffffe1c8) 在main.cpp:630_C++ - Fatal编程技术网

程序在返回0后收到SIGSEGV错误 程序接收信号SIGSEGV,分段故障。 std::basic_filebuf::_M_terminate_output()()中的0x00007ffff7b8bc26来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb)在哪里 #std::basic_filebuf::\u M_terminate_output()()中的0 0x00007FF7B8BC26 来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 #1 0x00007FF7B8C6A2,位于/usr/lib/x86\u 64-linux-gnu/libstdc++.so.6中的std::basic_filebuf::close() #std::basic_of Stream::~basic_of Stream()() 来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3个0x0000000000403e02主端口(argc=2,argv=0x7fffffffe1c8) 在main.cpp:630

程序在返回0后收到SIGSEGV错误 程序接收信号SIGSEGV,分段故障。 std::basic_filebuf::_M_terminate_output()()中的0x00007ffff7b8bc26来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb)在哪里 #std::basic_filebuf::\u M_terminate_output()()中的0 0x00007FF7B8BC26 来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 #1 0x00007FF7B8C6A2,位于/usr/lib/x86\u 64-linux-gnu/libstdc++.so.6中的std::basic_filebuf::close() #std::basic_of Stream::~basic_of Stream()() 来自/usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3个0x0000000000403e02主端口(argc=2,argv=0x7fffffffe1c8) 在main.cpp:630,c++,C++,在程序执行后以及执行“返回0;”后,我将面临此错误 我使用了STL中的向量。仅当输入文件大小非常大时才会引发此错误(我在图形中有大约10000个节点) 此外,我无法将输出写入文件。目前我已经评论了这一部分 请帮我解决这个问题。 我使用的是Ubuntu 12.10 64位。从main返回后的错误可能由以下原因引起(至少): dodgyatexit处理程序;或 某些描述的内存损坏 在这两种情况中,更可能是后者,因此您应该在动态内存使用分析工具下运行代码,如valgrind。您对导致问题的大向量的

在程序执行后以及执行“返回0;”后,我将面临此错误

我使用了STL中的向量。仅当输入文件大小非常大时才会引发此错误(我在图形中有大约10000个节点)

此外,我无法将输出写入文件。目前我已经评论了这一部分

请帮我解决这个问题。
我使用的是Ubuntu 12.10 64位。

main
返回后的错误可能由以下原因引起(至少):

  • dodgy
    atexit
    处理程序;或
  • 某些描述的内存损坏

在这两种情况中,更可能是后者,因此您应该在动态内存使用分析工具下运行代码,如
valgrind
。您对导致问题的大向量的描述似乎也支持此论点。

main
返回后的错误可能由以下原因引起(至少):

  • dodgy
    atexit
    处理程序;或
  • 某些描述的内存损坏

在这两种情况中,更可能是后者,因此您应该在动态内存使用分析工具下运行代码,如
valgrind
。您对导致问题的大向量的描述似乎也支持这一论点。

您可能存在某种堆损坏问题。您可以尝试在
valgrind
下运行该程序。是否使用无效迭代器?是否有具有析构函数的全局对象?这是我想到的第一件在最终返回语句之后执行的事情。是的,我正在使用全局向量,因为我也将在其他文件中使用生成的向量。我只使用过图书馆。除了生成的系统外,我还没有编写任何析构函数调用。我在windows上尝试了相同的代码,效果很好。但是我只需要在Linux上运行这个程序,你可能有一些堆损坏的问题。您可以尝试在
valgrind
下运行该程序。是否使用无效迭代器?是否有具有析构函数的全局对象?这是我想到的第一件在最终返回语句之后执行的事情。是的,我正在使用全局向量,因为我也将在其他文件中使用生成的向量。我只使用过图书馆。除了生成的系统外,我还没有编写任何析构函数调用。我在windows上尝试了相同的代码,效果很好。但我只需要在Linux上运行它,我使用全局向量,因为我也将在其他文件中使用生成的向量。我只使用过图书馆。除了生成的系统外,我还没有编写任何析构函数调用。我在windows上尝试了相同的代码,效果很好。但我只需要在Linux上运行它。@user1784378,按照建议使用内存分析工具。未定义行为最烦人的特征之一是,它可能在某些情况下工作。如果它总是失败,那么会更容易找到,而且它不会是未定义的:-)是的,我使用全局向量,就像我在其他文件中使用生成的向量一样。我只使用过图书馆。除了生成的系统外,我还没有编写任何析构函数调用。我在windows上尝试了相同的代码,效果很好。但我只需要在Linux上运行它。@user1784378,按照建议使用内存分析工具。未定义行为最烦人的特征之一是,它可能在某些情况下工作。如果它总是失败,那么它将更容易找到,并且不会是未定义的:-)
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b8bc26 in std::basic_filebuf<char, std::char_traits<char> >::_M_terminate_output() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) where
#0  0x00007ffff7b8bc26 in std::basic_filebuf<char, std::char_traits<char>    >::_M_terminate_output() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff7b8c6a2 in std::basic_filebuf<char, std::char_traits<char>>::close()       ()  from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00007ffff7b8cb2a in std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x0000000000403e02 in main (argc=2, argv=0x7fffffffe1c8)
at main.cpp:630