Valgrinding使用openldap2的libldap的程序是一件苦差事,因为OpenSSL使用了未初始化的内存.存在一个--ignore-fn选项,但仅适用于Valgrind的massif子组件.memcheck是否有类似的东西可以排除出现某些功能的痕迹?
==13795== Use of uninitialised value of size 8 ==13795== at 0x6A9C8CF: ??? (in /lib64/libz.so.1.2.3) ==13795== by 0x6A9A63B: inflate (in /lib64/libz.so.1.2.3) ==13795== by 0x68035C1: ??? (in /lib64/libcrypto.so.1.0.0) ==13795== by 0x6802B9F: COMP_expand_block (in /lib64/libcrypto.so.1.0.0) ==13795== by 0x64ABBCD: ssl3_do_uncompress (in /lib64/libssl.so.1.0.0) ==13795== by 0x64ACA6F: ssl3_read_bytes (in /lib64/libssl.so.1.0.0) ==13795== by 0x64A9F2F: ??? (in /lib64/libssl.so.1.0.0) ==13795== by 0x56B3E61: ??? (in /usr/lib64/libldap-2.4.so.2.5.4) ==13795== by 0x5E4DB1B: ??? (in /usr/lib64/liblber-2.4.so.2.5.4) ==13795== by 0x5E4E96E: ber_int_sb_read (in /usr/lib64/liblber-2.4.so.2.5.4) ==13795== by 0x5E4B4A6: ber_get_next (in /usr/lib64/liblber-2.4.so.2.5.4) ==13795== by 0x568FB9E: …
我有一个类似于2001:db8::1标量的地址,并希望得到扩展形式,2001:0db8:0000:0000:0000:0000:0000:0001.主要的Perl软件包是否在其广阔的森林中运送 - /usr/lib/perl5/...一个已经完成此操作的模块?如果没有,有人会有几行会这样做吗?
一个小的测试程序(使用MinGW在Linux上编译),我注意到一个不能使用read,并write为使用的Winsock2的实施获得呼吁套接字fd socket调用.写调用返回<0并设置errno = EBADF.
想想从xinetd运行的程序,减去他们的stdin/stdout始终是套接字的假设.(例如,某些程序会调用getpeername,如果它不是套接字,则会失败,随后它们可能会过早退出.)
那么,除了对fd进行假设之外,如何在/ windin/stdout中读取/写入的{文件描述符类型} - 不可知程序应该合理地在win32环境中工作?
或者更简单地说,是否有一些魔术函数调用被执行以连接Winsock2套接字fds与win32(井,mingw)write实现?