[Up] [Contents] [Index] [Summary]
Statically linked foreign code or embedded systems can be debugged
normally. Most modern environments provide debugging tools for
dynamically loaded shared objects or dynamic load libraries. The
following example traces the code of lowercase using gdb(1)
in a Unix environment.
% gcc -I/usr/local/lib/pl-2.2.0/include -fpic -c -g lowercase.c
% gcc -shared -o lowercase.so lowercase.o
% gdb pl
(gdb) r
Welcome to SWI-Prolog (Version \plversion)
Copyright (c) 1993-1996 University of Amsterdam. All rights reserved.
For help, use ?- help(Topic). or ?- apropos(Word).
?- load_foreign_library(lowercase).
(gdb) shared % loads symbols for shared objects
(gdb) break pl_lowercase
(gdb) continue
?- lowercase('HELLO', X).