段错误.0xb7d9e768在memmove()从/lib/lib .so.6
Segmentation fault. 0xb7d9e768 in memmove () from /lib/libc.so.6
GDB在我的c++程序中给出了上述错误。我没有在任何地方使用任何内存函数,包括new和delete等
我想了解这个错误的"含义"。
如果在gdb下运行程序,您应该能够打印出回溯记录,并查看代码的哪一部分导致了分段错误。Memmove()可以通过不同的系统调用间接调用。
代码中的数组操作可能会被优化为对memmove
的调用:这可能就是编译后的代码使用memmove
的原因,而您的源代码没有。
我认为你应该检查你没有越界访问数组
memmove
试图访问(读或写)它不应该接触的内存段
原因可能多种多样,但可能是指针损坏。使用调试器、valgrind、检查堆栈跟踪等检查
相关文章:
- 在linux中,mono调用我的.so-lib返回System.EntryPointNotFoundException
- /lib/libstdc++.so.6:没有可用的版本信息
- 链接器错误:在包含 .so lib 后未定义对 xxx 的引用
- 没有规则来设定目标'/usr/lib/x86_64-linux-gnu/libboost_filesystem.so'
- 使用 jna 加载 lib .so
- C++: 错误: opencv_core: 即使所需的 .so 文件位于 /usr/lib/ 中,也没有这样的文件或目录
- 我想从安卓工作室访问 .so lib 及其 cpp 文件的方法
- 如何在 C++ 中修复"/usr/bin/ld: warning: liblber-2.4.so.2, needed by //usr/lib/x86_64-linux-gnu/libcurl-gnu
- 将 lib*.so 添加到 cmake
- 没有规则来使目标"TBB_ENV_LIB_DEBUG-NOTFOUND","lib/libopencv_core.so.3.2.0"需要
- lib(libmyshlib.so,libmyshlib.so.1,libmyshlib.so.1.0)最好添加到我的项
- ./libmylib.so:未定义的"submarinex::LIB::kCount"
- 为什么我可以不将 SSL lib(-lssl) 链接到 so 的制作文件中?
- "/usr/lib/libstdc .so.6: version `GLIBCXX_3.4.15' not found"是什么意思,我该如何解决?
- 从.lib切换到.so后,Android应用程序崩溃
- "/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found`",如何解决?
- make[2]: *** 没有规则在 CGAL 中将目标 '/usr/lib/i386-linux-gnu/libmpfr.so'
- 编译 fortran 文件"/usr/bin/ld: errno: TLS definition in /lib/libc.so.6"
- /usr/lib/x86_64-linux-gnu/libstdc++.so.6:未找到版本 CXXABI_1.3.8'
- 段错误.0xb7d9e768在memmove()从/lib/lib .so.6