【发布时间】:2011-09-18 05:41:57
【问题描述】:
我有一个非常基本的问题。我确实像这里http://www.cs.cmu.edu/~gilpin/tutorial/ 一样环顾四周,但仍然怀疑..
考虑以下makefile(在上一个问题中也给出过)
all: clients.so simulator backup
LD_PRELOAD=/home/Juggler/client/clients.so ./simulator
backup: backup.c libclient.a
gcc backup.c -o backup -L /home/Juggler/client -L. -lclient -ldl
simulator: simulator.c libclient.a
gcc -g simulator.c -o simulator -L /home/Juggler/client -L. -lclient -ldl -pthread
libclient.a: libclient.o client.o
ar rcs libclient.a libclient.o client.o
libclient.o:libclient.c
gcc -c libclient.c -o libclient.o -pthread
clients.so: client.o client_invoke.o
ld -shared -o clients.so client_invoke.o client.o -ldl
client_invoke.o: client_invoke.c
gcc -Wall -fPIC -DPIC -c -g client_invoke.c
client.o: client.c
gcc -Wall -fPIC -DPIC -c -g client.c -ldl -pthread
我应该做什么/改变以使用 gdb 或 valgrind 进行调试。实际上,我在做 make 时遇到了分段错误并想调试。但我从未在 makefile 中使用过 gdb 或 valgrind
谢谢
【问题讨论】:
标签: c linux makefile gdb valgrind