• 4944阅读
  • 2回复

高手过来看看(gdb如何调试.so) [复制链接]

上一主题 下一主题
离线quzn
 

只看楼主 倒序阅读 楼主  发表于: 2006-09-13
高手过来看看(gdb如何调试.so)
//main.c
#include<stdio.h>
#include<unistd.h>
int factorial (int n);
int main (int argc, char **argv)
{
int n;
if (argc < 2)
{
  printf ("Usage: %s n\n", argv [0]);
  return -1;
}
else
{
  n = atoi (argv[1]);
  printf ("Factorial of %d is %d.\n", n, factorial (n));
}
return 0;
}

//libfactorial.so
int factorial (int n)
{
if (n <= 1)
  return 1;
else
  return factorial (n - 1) * n;
}

如何用gdb调试libfactorial.so呀???没有办法进入factorial函数.
[ 此贴被XChinux在2006-09-14 19:32重新编辑 ]
离线hechuan
只看该作者 1楼 发表于: 2006-09-13
我的方法:
break main
start/run
等程序停在main函数入口处,好像.so就自动被加载进来了,这时再用break factorial应该可以设断点
离线lsosa

只看该作者 2楼 发表于: 2006-12-14
如果你有libfactorial.so的源文件,且是自己编译出来的.so文件,这样应该才可以自己调试;
可以这样下断点:
b factorial.c:1
即可;
快速回复
限100 字节
 
上一个 下一个