无法通过gdb env中的libhdfs.so

时间:2013-04-15 09:52:36

标签: hadoop gdb hdfs

我的程序正在使用libhdfs.so进行hdfs读/写,我想为调试设置一个断点,但是当这个程序运行到hdfsConnect时,它会退出并出现分段错误。

有趣的是,当我正常运行程序时,根本不会发生分段错误。

可能的根本原因是什么?调试libhdfs.so时是否应该设置一些运行时环境?

2 个答案:

答案 0 :(得分:1)

原来是一个JNI问题而不是libhdfs.so具体问题,解决方案可以在这里找到: Strange sigsegv while calling java code from c++ through jni

答案 1 :(得分:0)

  

可能是根本原因?

可能的根本原因是你的程序中存在一个错误,它在GDB下表现为崩溃,但在GDB之外运行时仍然是隐藏的。

这使得问题更容易调试:相反(GDB之外的崩溃,在GDB下运行)通常更难。

你的第一步应该是在Valgrind下运行程序并确保它是干净的。