Hi Mdl, probier es mal mit strace. strace kommt aus der linux welt, läuft aber mittels cygwin zb auch unter windows. das programm zeigt dir an, wann welche funktion mit welchen parametern aufgerufen wird. Das ist einerseits nützlich, um die ursachen von segfaults zu finden, andererseits kannst du damit eben auch die von DLLs exportierten funktionen debuggen. ein beispieloutput sieht zb so aus:
strace ./control-ng
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20694, ...}) = 0
mprotect(0x2abde000, 4096, PROT_READ) = 0
mprotect(0x2aaec000, 4096, PROT_READ) = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
brk(0) = 0x41b6d4
brk(0x41c6d4) = 0x41c6d4
brk(0x41d000) = 0x41d000
open("/var/tmp/rs.pid", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
ioctl(3, TIOCNXCL, 0x7fff7c48) = -1 ENOTTY (Inappropriate ioctl for device)
write(3, "1"..., 1) = 1
close(3) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
open("/etc/resolv.conf", O_RDONLY) = 4
ioctl(4, TIOCNXCL, 0x7fff7a68) = -1 ENOTTY (Inappropriate ioctl for device)
read(4, "nameserver 127.0.0.1\n"..., 4096) = 21
read(4, ""..., 4096) = 0
close(4) = 0
open("/etc/hosts", O_RDONLY) = 4
ioctl(4, TIOCNXCL, 0x7fff7a90) = -1 ENOTTY (Inappropriate ioctl for device)
read(4, "127.0.0.1 localhost.\n"..., 4096) = 21
read(4, ""..., 4096) = 0
close(4) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
send(4, "\0\2\1\0\0\1\0\0\0\0\0\0\nrapidshare\3com\0\0\1\0\1"..., 32, 0) = 32
_newselect(5, [4], NULL, NULL, {10, 0}) = 1 (in [4], left {10, 0})
recv(4, "\0\2\201\200\0\1\0\25\0\0\0\0\nrapidshare\3com\0\0\1\0\1\300"..., 512, 0) = 368
close(4) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("195.122.131.20")}, 16) = 0
send(3, "GET /files/271463773/OpenWrt-i386"..., 91, 0) = 91
wie du siehst zeigt er die parameter an funktionen an. zwar zeigt er die im klartext an, aber das sollte nicht allzu problematisch sein, den datentyp kann man sich dann in der regel auch selbst rausfinden