程序可以正常运行而不是在gdb中运行的情况是什么?

时间:2013-06-18 13:59:44

标签: c gdb

我有一个程序,这很简单。代码如下。 我用

编译了它
gcc -g -Wall -I../software/libxml2-2.9.0/include/  
       -lxml2 -L/usr/lib test.c -o test

我绝对可以用“./test”运行它,但是当我用“gdb test”运行它然后打印“run”时它会收到信号SIGSEGV。所以我想知道发生了什么?

#include <libxml/xmlreader.h> 
int main( void )
{
   const char *file = "/usr/share/mime/application/javascript.xml";
   xmlNewTextReaderFilename( file );
   return 0;
}

1 个答案:

答案 0 :(得分:1)

如果使用gdb test进行调试,实际上可能正在调试/bin/test而不是您自己的程序。如果回溯与您预期的程序不符,请切换到gdb ./test(与您以./test运行程序的方式类似)